如果,那么我们如何在SQL的NULLIF()函数内使用逻辑运算符。假设我有一个值为5的变量@a,如果要返回NULL值 @a> 3。 (是)
DECLARE @a INT
SET @a = 5;
SELECT NUllIF(@a,>3) AS Logical
-- Error: Incorrect syntax near '>'.
SELECT NUllIF(@a,'>3') AS Logical
-- Error: Conversion failed when converting the varchar value '>200' to data type int.
答案 0 :(得分:1)
DECLARE @a INT
SET @a = 5;
SELECT CASE WHEN ISNULL(@a,0)>3 THEN NULL ELSE @a END AS output
那是什么意思?
答案 1 :(得分:0)
使用CASE
SELECT CASE WHEN @a<=3 THEN @a END AS Logical
答案 2 :(得分:0)
由于使用的是SQL Server 2016,因此可以使用IIF
函数。
DECLARE @a AS INT = 5;
SELECT IIF(@a > 3, NULL, @a) AS Logical