【问题标题】:Trouble with Dynamic T-SQL IIF Statement动态 T-SQL IIF 语句的问题
【发布时间】:2013-01-29 12:04:06
【问题描述】:

这段代码运行良好,完全符合我的要求,即对每个动态查询实例的 Qty * Price 求和。

但是当我添加 IIF 语句时,它会中断。我正在尝试做的事情与上述相同,但是当交易类型为“CO”时,将总和设置为负数。

【问题讨论】:

  • 什么版本的 SQL Server?休息是什么意思?你有错误吗?
  • SQL 2012 消息 102,级别 15,状态 1,第 26 行 'THE' 附近的语法不正确。
  • Incorrect syntax near 'THE'?如果是真实消息,则前面的 THEN 可能有错字。
  • 很难弄清楚它可能是什么,如果我删除 IIF 语句,只有一切正常。没有其他变化。
  • @GaryGerson @sql 到底有多长?也许它会在 4000 个字符处被截断,因为它是 NVARCHAR(4000)

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多