如何比较变量以查看它在 SQL Server Transact SQL 中是否为空

How can I compare a variable to see if it is null in SQL Server Transact SQL

我想检查变量 @Test 是否为空。我尝试了 (@Test = null) 但存在语法错误。

我该如何检查?我注意到有一个叫做 IsNull 的东西,但我不确定如何使用它。

使用以下内容:

@Test IS NULL

所以,例如作为 WHERE 子句中的谓词:

WHERE (@Test IS NULL) OR ...

或在存储过程中的 IF 语句中:

IF (@Test IS NULL) AND ( ... some other predicate )
BEGIN
 ...
END 

试试这个

if (@test is null)
begin
<True block statements>
end

使用@Test IS NULL 描述

SQL IS NULL 条件用于测试 SELECT、INSERT、UPDATE 或 DELETE 语句中的 NULL 值。

SYNTAX

SQL IS NULL 条件的语法是:

expression IS NULL

参数或参数

表达式是要测试的值。

NOTE

If expression is a NULL value, the condition evaluates to TRUE. If expression is not a NULL value, the condition evaluates to FALSE.

了解更多信息:

http://www.techonthenet.com/sql/is_null.php

示例:

Select * from MyTable where @Test IS NULL

如果你想检查@Test 不应该为 NULL 那么你可以使用

Select * from MyTable where @Test IS NOT NULL

关于ISNULL()

的信息

ISNULL () 用指定的替换值替换 NULL。 ISNULL ( check_expression , replacement_value )

SELECT ISNULL(@Test,'True')