Sql server 将Access IIF转换为SQL Server案例

Sql server 将Access IIF转换为SQL Server案例,sql-server,tsql,sql-server-2008-r2,Sql Server,Tsql,Sql Server 2008 R2,我正在尝试将access 2013IIF()语句转换为SQL Server 2008case语句,但收到的错误为 味精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 您在案例开始处缺

我正在尝试将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

您在
案例开始处缺少一个开口括号
。使用:

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

您在
案例开始处缺少一个开口括号
。使用:

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

您根本不需要
Case
语句。您正在尝试将一个值(
ffsaa
)添加到另一个计算值<代码>0不会产生任何额外的差异,除非您的值不是
0

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

您根本不需要
Case
语句。您正在尝试将一个值(
ffsaa
)添加到另一个计算值<代码>0不会产生任何额外的差异,除非您的值不是
0

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