经过试验,在SQL Server中使用select进行取值判断时,空记录集和NULL值,在与NULL进行比较时,结果都是true。
参见以下示例脚本:
1、返回空记录集与null进行比较
IF (SELECT 1
WHERE 1=0) IS NULL
BEGIN
PRINT 'NULL'
END
执行结果:
NULL
2、返回null与null进行比较
IF (SELECT NULL
WHERE 1=1) IS NULL
BEGIN
PRINT 'NULL'
END
执行结果同样为:
NULL