标签: tsql sql-server-2012 dynamic-sql iif
这段代码运行正常,完全符合我的要求,即为动态查询的每个实例加上数量*价格。
但是当我添加一个IIF声明时,它会中断。我想要做的是与上面相同的事情,但当交易类型是'CO'时,将总和设置为负数。
答案 0 :(得分:2)
问题原来是NVARCHAR(4000)类型的@sql,将其长度限制为4000个字符:在向其添加另一个长块后,查询在某个随机位置被截断。
NVARCHAR(4000)
@sql
DECLARE @sql NVARCHAR(MAX)解决了这个问题,允许任何大小低于2GB的动态查询。
DECLARE @sql NVARCHAR(MAX)