SQL Server Management Studio 2014 中的 IIF 语句

IIF Statement in SQL Server Management Studio 2014

我正在使用 SQL Server Management Studio 2014 并尝试 运行 使用 IIF 语句编写代码。

据我所知,语法是正确的,但我一直收到错误

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '='.

代码如下

SELECT 
    [Name], [Street], [City],
    IIF([Country] = 'UK', 'UK', 'Overseas') AS Country
FROM 
    [dbo].TblAddress

语法正确。

它现在取决于您拥有哪个版本的 SQL 服务器,而不是哪个版本的 SQL Server Management Studio。

例如运行

SELECT 
    [Name], [Street], [City],
    IIF([Country] = 'UK','UK','Overseas') AS Country
FROM 
    [dbo].TblAddress

在 SQL Server 2012 或更高版本上可以工作(SQL 下面示例中的 Server 2014)

但在 SQL Server 2008 或更低版本 returns 上: (SQL Server 2008 R2 是版本 10.50...)

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '='.

这是因为 IIF 仅在 SQL Server 2012 之后可用

https://docs.microsoft.com/en-us/sql/t-sql/functions/logical-functions-iif-transact-sql

SQL Server Management Studio 的版本无关紧要。