SQL Server 2012不识别IIF函数

3

我正在使用SQL Server 2012,尝试使用IIF函数,但出现以下错误:

Msg 195,Level 15,State 10,Line 1
“iif”不是已知的内置函数名称。

即使只是简单的使用:

 SELECT IIF(5 > 4, 'true', 'false') 

出错了。事实上,那个准确的语句会给出一个“在'>'附近有不正确的语法”的错误。

先行感谢!

1个回答

3
你是否在使用Management Studio 2012,但连接的是较旧版本的SQL Server引擎?运行SELECT @@Version并显示输出,这将显示您所连接的引擎版本。在我的情况下,我得到:
Microsoft SQL Server 2008 R2(SP2)- 10.50.4000.0(X64) Jun 28 2012 08:36:30 Copyright(c)Microsoft Corporation Developer Edition(64位)Windows NT 6.1上的(Build 7601:Service Pack 1)(Hypervisor)
你得到了什么?!?只有当你连接到2012(v11.0)引擎版本时才会使用IIF!

是的,必须是这样。我还测试了将数据库的兼容性级别降低,但这并不会导致此错误。 - Martin Smith
1
BINGO!这就是问题,谢谢!我使用的是 Microsoft SQL Server 2008 R2(SP1)- 10.50.2550.0(X64)。 - ceithor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接