SQL存储过程变量null检查

Arv*_*ind 4 sql stored-procedures

下面是我所拥有的存储过程的一部分,如果你能指出我为什么即使@DefaultID在执行select语句后它为null也没有进入if条件,那将是非常有帮助的,是否有不同的方法我必须按以指定值以@DefaultID使其可用于空检查.

先感谢您.

DECLARE @DefaultID varchar(25)
DECLARE @ISDefault varchar(1)

SELECT @DefaultID = (SELECT TABLE1.DEFID as DEFID
                     FROM TABLE1
                     WHERE TABLE1.ID = '123')

IF (@DefaultID = '')
    SET @ISDefault = '1'
ELSE
    SET @ISDefault = '0'
Run Code Online (Sandbox Code Playgroud)

Mah*_*mal 10

使用

IF @DefaultID IS NULL
Run Code Online (Sandbox Code Playgroud)

代替 IF @DefaultID =''

NULL并且''是两件不同的事情.