我尝试在 select 语句中使用 IIF()
。 bool 表达式检查字段值是否等于空字符串。语法如下:
SELECT IIF(field = '','ONe action','Another')
我收到错误“syntax error close = =”
我尝试了一个简单的测试:
SELECT IIF(2 > 1, 'yes','no')
我收到“syntax errror close >”
这让我相信 IIF
根本不起作用。
我使用的是 SQL SERVER 2008 R2,是否需要配置某些内容才能允许 IIF() 工作?我缺少什么语法吗?我的测试很简单,但我仍然遇到语法错误。
如有任何帮助,我们将不胜感激。非常感谢!
最佳答案
如上所述,IIF
是 SQL2012 的一项功能。
将您的 IIF
替换为 CASE
(这就是 SQL 2012 无论如何都会做的事情)
SELECT CASE field WHEN '' THEN 'ONe action' ELSE 'Another' END
关于SQL Server 2008 IIF 语句似乎未启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11540753/