select case null when '' then '1' when null then '2' --为什么没有在这个位置判断出来 else '3' end a
select 1 a,2 b into #a select isnull(b,0) b from #a where a=2 --b列没有数据 应该用什么来判断b是空的呢 --b列没有数据 应该用什么来判断b是空的呢 where b is null NULL 与 NULL 比默认是UNKWONE的, 第二个不是很明白. "没有值"和"有值但是值为NULL"是2个概念,可以价格判断,如果返回0行记录,则设置b为0 SQL code:
DECLARE @b INT SELECT @b = ISNULL(b,0) from #a WHERE a=2 IF @@ROWCOUNT = 0 SELECT @b = 0 SELECT @b AS b