sql中
if @aa is null
这个代表什么意思

解决方案 »

  1.   

    定义了一个变量@aa,当然也可能是函数或存储过程中传入的一个参数.
    总而言之,言而总之,它就是一个变量,不过,无从可知它是个什么类型的变量if 这个变量 is null就是看这个变量是否为空值 即 null值.比如
    declare @a int
    select @a
    结果就显示null
    因为只定义了变量,未初始化declare @a int
    select @a=1
    select @a
    结果显示1,它值为1,当然不是 nulldeclare @a varchar
    select @a
    --nulldeclare @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被赋为nullnull值的检测不能使用 "=" 运算符,要用 is null检测declare @a int
    select 1 where @a is null
    union all
    select 0 where @a is not null
    当@a是null时显示1,否则显示0