如何比较变量以查看它在 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')
我想检查变量 @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')