0

我使用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 '<'

这是什么原因造成的?

4

2 回答 2

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
于 2013-07-11T14:02:21.807 回答
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
于 2013-07-11T14:11:41.967 回答