【问题标题】:Convert Access IIF To SQL Server Case将 Access IIF 转换为 SQL Server 案例
【发布时间】:2016-12-28 02:23:13
【问题描述】:

我正在尝试将 access 2013 IIF() 语句转换为 SQL Server 2008 case 语句,但我收到了一个错误

消息 102,第 15 级,状态 1,第 5 行
')' 附近的语法不正确。

我确定这源于我的错误转换,但我必须做些什么才能正确转换此语法?

访问

((val1*mk)+val1)+IIf(ffsaa="0",0,6) AS CC

SQL 尝试

((val1*mk)+val1)+case when ffsaa=0 then 0 else 6 end) AS CC

【问题讨论】:

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


    【解决方案1】:

    case 的开头缺少一个左括号。使用:

    ((val1*mk)+val1)+(case when ffsaa=0 then 0 else 6 end) AS CC
    

    【讨论】:

      【解决方案2】:

      您根本不需要Case 声明。您正在尝试将一个值 (ffsaa) 添加 到另一个计算值。除了0 之外,0 没有任何区别,除非您的值不是0

      Select ((val1*mk)+val1) + ffsaa
      

      【讨论】:

        猜你喜欢
        • 2020-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 1970-01-01
        相关资源
        最近更新 更多