我正在尝试将访问2013 IIF()
语句转换为SQL Server 2008 case
语句,但我收到错误
Msg 102,Level 15,State 1,Line 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
答案 0 :(得分:2)
您在case
开头时缺少一个左括号。使用:
((val1*mk)+val1)+(case when ffsaa=0 then 0 else 6 end) AS CC
答案 1 :(得分:0)
您根本不需要Case
声明。您正尝试将值(ffsaa
)添加到另一个计算值。除非您的值不是0
0
除此之外没有任何区别
Select ((val1*mk)+val1) + ffsaa