在NULLIF()

时间:2018-07-11 08:41:26

标签: sql sql-server

如果,那么我们如何在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.

3 个答案:

答案 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