IIF关键字的T-SQL错误

时间:2013-07-11 13:56:07

标签: sql sql-server-2008 tsql

我使用IIF关键字

进行了以下sql比较
DECLARE @a int, @b int
SET @a = 10
SET @b = 20

BEGIN
   SELECT IIF( @a < @b, 'True', 'False') As Result
END

然而,在执行时会出现错误

Incorrect syntax near '<'

造成这种情况的原因是什么?

2 个答案:

答案 0 :(得分:3)

如评论中所述,IIF是SQL Server 2012+中的新功能,因此您必须使用CASE语句:

DECLARE @a int, @b int
SET @a = 10
SET @b = 20

BEGIN
   SELECT CASE WHEN @a < @b THEN 'True' ELSE 'False' END As Result
END

答案 1 :(得分:2)

IIF在VBA中使用,但在2012年发布之前在SQL Server中不可用。改为使用SELECT CASE语句。

DECLARE @a int, @b int
SET @a = 10
SET @b = 20

BEGIN
   SELECT CASE WHEN @a < @b THEN 'True' ELSE 'False' END As Result
END