【发布时间】:2012-11-07 22:18:46
【问题描述】:
我的查询如下所示:
use [dbName]
DECLARE @profile_id int
SET @profile_id = 18
DECLARE @test int
SET @test = (SELECT user_profile_id FROM tbl_profiles WHERE id = @profile_id)
SELECT @test as test
if @test = NULL
SELECT 1
else
SELECT 2
我知道表中的值为 null,并且我可以看到 @test 被正确设置为该值,因为第一个 SELECT 显示:
|test
1|NULL
但是,在 IF 条件下,变量不会被视为 NULL,因为只返回第三个 SELECT,显示:
|(no column name)
1| 2
这是为什么呢?
【问题讨论】:
标签: sql-server-2008 tsql if-statement null