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

时间:2015-02-16 13:05:33

标签: sql-server sql-server-2012

我想检查变量@Test是否为空。我试过(@Test = null),但是语法错误。

我该如何检查?我注意到有一些名为IsNull但我不确定如何使用它。

3 个答案:

答案 0 :(得分:3)

使用以下内容:

@Test IS NULL

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

WHERE (@Test IS NULL) OR ...

或存储过程内的IF语句:

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

答案 1 :(得分:2)

试试这个

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

答案 2 :(得分:1)

使用@Test IS NULL 说明

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

  

SYNTAX

SQL IS NULL条件的语法是:

expression IS NULL

参数或参数

表达式是要测试的值。

  

注意

     

如果expression为NULL值,则条件计算结果为TRUE。   如果expression不是NULL值,则条件计算结果为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')