一个极简单的问题,请游泳的鱼回答下
sql中
if @aa is null
这个代表什么意思
------解决方案--------------------定义了一个变量@aa,当然也可能是函数或存储过程中传入的一个参数.
总而言之,言而总之,它就是一个变量,不过,无从可知它是个什么类型的变量
if 这个变量 is null
就是看这个变量是否为空值 即 null值.
比如
declare @a int
select @a
结果就显示null
因为只定义了变量,未初始化
declare @a int
select @a=1
select @a
结果显示1,它值为1,当然不是 null
declare @a varchar
select @a
--null
declare @a varchar
set @a=''
select @a
--显示 空. 这里的空是一个空字串,值不是null
declare @a int
select @a=1
select @a=(select max(aaa) from (select 1 aaa union all select 2) a where aaa>3)
select @a
这里定义了int型变量@a , 再给值1, 再次从查询中赋值,查询无结果集,则@a被赋为null
null值的检测不能使用 "=" 运算符,要用 is null检测
declare @a int
select 1 where @a is null
union all
select 0 where @a is not null
当@a是null时显示1,否则显示0