IF @B_F0040 IS NOT NULL AND @B_F0120 IS NOT NULL 
这样的语句可以改为IF ISEMPTY(@B_F0040,@B_F0120)=0变量的个数是不确定的

解决方案 »

  1.   

    有函數的,CoalesceDeclare @A Int,@B Int,@C Int
    Select @C=1If Coalesce(@A,@B) Is Null
    Print 'Null'
    Else
    Print 'Not Null'
    If Coalesce(@A,@B,@C) Is Null
    Print 'Null'
    Else
    Print 'Not Null'
    --Result
    /*
    Null
    Not Null
    */
      

  2.   

    可不可以这样,
    IF @A+@B+@C IS NOT NULL在这种情况下如果其实任何一个变量为空,则返回值为空?
      

  3.   

    DECLARE 
    @A numeric(20,4),
    @B numeric(20,4),
    @C numeric(20,4)SET @A=90
    --SET @B=3
    SET @C=0.8
    IF @A+@B+@C IS NULL
      PRINT 'NULL'
    ELSE 
      PRINT @A+@B+@C
      

  4.   

    IF CAST(@A AS VARCHAR) + CAST(@B AS VARCHAR) + CAST(@C AS VARCHAR) IS NULL BEGIN
    .....
    END
      

  5.   

    如果類型不一致,相加會報錯的。你可以強制轉換下類型。eg:Declare @A Int,@B Int,@C Varchar(100)
    Select @C='A1'
    If(Rtrim(@A) +Rtrim(@B)+Rtrim(@C) ) Is Null
    Print 'Null'
    Else
    Print 'Not Null'