代码之家  ›  专栏  ›  技术社区  ›  octopusgrabbus ufukgun

Where子句中的“is NULL”是否有特殊行为?

  •  1
  • octopusgrabbus ufukgun  · 技术社区  · 6 年前

    我正在尝试调试一个我没有编写的存储过程。特别关注从 AND (Citation_Main.User_Defined5 ,如果我使用更新查询将记录的“User_Defined5”列的子集设置为NULL,则存储过程将写入我期望的导出文件。但是,如果User_Defined5字段设置为“N”,则不会写入文件。

    DECLARE Cit_Select_Cursor CURSOR FOR SELECT Citation_Main.Number,Citation_Main.Issue_Date,
            Citation_Main.Issue_Time,Citation_Main.Officer_Comment1, Citation_Main.Officer_ID,
            Citation_Main.Officer_Name,Citation_Main.License_Plate,Citation_Main.License_State,
            Citation_Main.Location_Block,Citation_Main.Location_Street,Citation_Main.Location_Dir,
            Citation_Main.Location_Suffix,Citation_Main.Amount_Due,Citation_Main.Meter,
            Citation_Main.Make,Citation_Main.Color_Major,Citation_Main.Body_Style,
            Citation_Main.License_Type,Citation_Main.VIN,Citation_Activity.ChargeCode,Citation_Activity.DebitAmount
            ,Citation_Main.Officer_Comment2
            FROM Citation_Main --TTM_Bak
    --ADDED 03/12/2016 Inner Join and check for void and warning
    --      INNER JOIN Citation_Main On TTM_Bak.Number = Citation_Main.Number
            INNER JOIN Citation_Activity On Citation_Main.Citation_Key = Citation_Activity.Citation_Key
            Where --ExportViaDAT = 'N' And 
            Citation_Main.Void ='N' And Citation_Main.Warning ='N'
            AND (Citation_Main.User_Defined5 ='N' or Citation_Main.User_Defined5 ='' or Citation_Main.User_Defined5 is NULL)
            ORDER BY Citation_Main.Issue_Date DESC
    

    我一直在阅读在进入本文时出现的建议SO帖子,但没有发现存储过程的这部分有任何问题。

    我的问题是,在存储过程的这一部分中检查NULL是否存在固有的问题?

    0 回复  |  直到 6 年前
    推荐文章