我使用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 '<'
这是什么原因造成的?
我使用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 '<'
这是什么原因造成的?
正如评论中提到的,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
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