【问题标题】:How to change query from SQL Server 2012 to SQL Server 2008 R2如何将查询从 SQL Server 2012 更改为 SQL Server 2008 R2
【发布时间】:2015-07-23 11:44:34
【问题描述】:
SELECT 
    @Principal= IIF(optionfieldvalue='', NULL, CAST(optionfieldvalue as decimal(38, 18)))
FROM 
    @DATA 
WHERE 
    TemplateFieldId = 47

此查询是在 SQL Server 2012 中编写的。现在我想将其更改为 SQL Server 2008 R2。

任何人都可以帮助谁转换该代码

【问题讨论】:

  • 使用CASE 而不是IIF
  • 你试过在 2008 年运行它吗?执行此操作时会收到什么错误消息?

标签: sql-server sql-server-2008-r2 sql-server-2012


【解决方案1】:

只需删除 SQL Server 2012 中新增的 IIF

SELECT 
    @Principal = CASE 
                   WHEN optionfieldvalue = '' 
                      THEN CAST(NULL AS DECIMAL(38,18))
                      ELSE CAST(optionfieldvalue AS DECIMAL(38, 18))
                 END
FROM 
    @DATA 
WHERE 
    TemplateFieldId = 47

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    相关资源
    最近更新 更多