SQL Server Management Studio 2014中的IIF声明

时间:2018-01-30 01:22:48

标签: ssms-2014

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

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

  

Msg 102,Level 15,State 1,Line 2
  '='附近的语法不正确。

代码在

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

1 个答案:

答案 0 :(得分:3)

语法正确。

现在,它取决于您拥有的SQL Server版本,而不是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 2014

但是在SQL Server 2008或更低版本上它会返回: (SQL Server 2008 R2是版本10.50 ...)

  

Msg 102,Level 15,State 1,Line 2
  '='附近的语法不正确。

enter image description here

这是因为IIF仅在SQL Server 2012及更高版本中可用

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

SQL Server Management Studio的版本并不重要。