Case-SQL语句中IFF的等价性
我正在尝试将access IFF查询转换为SQL Server查询Case-SQL语句中IFF的等价性,sql,sql-server,Sql,Sql Server,我正在尝试将access IFF查询转换为SQL Server查询 SELECT blah blah , IIf([stock]![supplier]=[pos]![supplier],"Preferred"," ") AS Preferrednew FROM blah blah 在access中,如果条件为true,则在名为Preferrednew的列中提供preferred值 我已将代码转换为 SELECT blah blah , CASE WHEN ([stock.suppl
SELECT blah blah ,
IIf([stock]![supplier]=[pos]![supplier],"Preferred"," ") AS Preferrednew
FROM blah blah
在access中,如果条件为true,则在名为Preferrednew的列中提供preferred值
我已将代码转换为
SELECT blah blah ,
CASE WHEN ([stock.supplier] = [pos.supplier]), 'test', 'test2' AS [preferrednew]
FROM blah blah
但是我得到了错误
“,”附近的语法不正确
正确的格式是什么
SELECT blah blah ,
CASE WHEN stock.supplier = pos.supplier THEN 'test'
ELSE 'test2'
END AS [preferrednew]
FROM blah blah
请记住,SQL Server 2012+支持完美,谢谢。是的,我尝试了IIF,但我们是2012年之前的-当我们升级数据库时,案例仍然有效吗?@Emma case当然可以,IIF只是语法糖:)再次感谢您的快速帮助:)感谢您注意到自SQL Server以来支持
IIF
2012@Emma如果这篇文章有帮助,请考虑标记为答案;