T-SQL:检查变量是否为空

Kaj*_*jbo 3 t-sql sql-server

我想知道是否有办法检查 variable @varCharisNULL variable @bitis 0

我的尝试:

if ISNULL(@varChar, false) and (@bit = 0) 
begin
    RAISERROR ('varchar was not specified', 16,1);
end
Run Code Online (Sandbox Code Playgroud)

我的问题是ISNULL(check_if_null, replacement_value)不能这样工作,我找不到替代方案。

Luk*_*zda 10

你可以使用IS NULL

IF @varCHAR IS NULL AND @bit = 0
BEGIN
    RAISERROR ('varchar was not specified', 16,1);
END
Run Code Online (Sandbox Code Playgroud)

另一种方法是:

DECLARE @varCHAR VARCHAR(MAX) = NULL;

IF ISNULL(@varCHAR,'false') = 'false' AND @bit = 0
    RAISERROR ('varchar was not specified', 16,1);
Run Code Online (Sandbox Code Playgroud)