动态T-SQL IIF声明的问题

时间:2013-02-13 20:04:12

标签: tsql sql-server-2012 dynamic-sql iif

这段代码运行正常,完全符合我的要求,即为动态查询的每个实例加上数量*价格。

Working Code

但是当我添加一个IIF声明时,它会中断。我想要做的是与上面相同的事情,但当交易类型是'CO'时,将总和设置为负数。

enter image description here

1 个答案:

答案 0 :(得分:2)

问题原来是NVARCHAR(4000)类型的@sql,将其长度限制为4000个字符:在向其添加另一个长块后,查询在某个随机位置被截断。

DECLARE @sql NVARCHAR(MAX)解决了这个问题,允许任何大小低于2GB的动态查询。