在Case SQL语句中等效于IFF

Emm*_*mma 2 sql sql-server

我试图将访问IFF查询转换为SQL Server查询

SELECT blah blah ,
    IIf([stock]![supplier]=[pos]![supplier],"Preferred"," ") AS Preferrednew 
FROM blah blah
Run Code Online (Sandbox Code Playgroud)

在访问中,这将在名为Preferrednew的列中给出首选值,其中条件为真.

我已将代码转换为..

SELECT blah blah ,
 CASE WHEN ([stock.supplier] = [pos.supplier]), 'test', 'test2' AS [preferrednew]
FROM blah blah
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

','附近的语法不正确

什么是正确的格式?

Luk*_*zda 5

SELECT blah blah ,
    CASE WHEN stock.supplier = pos.supplier THEN 'test'
    ELSE 'test2'
    END AS [preferrednew]
FROM blah blah
Run Code Online (Sandbox Code Playgroud)

请记住,SQL Server 2012+支持 IIF

  • 感谢您注意到自SQL Server 2012以来支持`IIF` (2认同)