我使用IIF
关键字
DECLARE @a int, @b int
SET @a = 10
SET @b = 20
BEGIN
SELECT IIF( @a < @b, 'True', 'False') As Result
END
然而,在执行时会出现错误
Incorrect syntax near '<'
造成这种情况的原因是什么?
答案 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