我正在使用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
答案 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 2008或更低版本上它会返回: (SQL Server 2008 R2是版本10.50 ...)
Msg 102,Level 15,State 1,Line 2
'='附近的语法不正确。
这是因为IIF
仅在SQL Server 2012及更高版本中可用
https://docs.microsoft.com/en-us/sql/t-sql/functions/logical-functions-iif-transact-sql
SQL Server Management Studio的版本并不重要。