[英]Is querying for IS NULL necessary in this CASE expression?
我有以下案例說明:
CASE
WHEN SecondScriptKind_ID IS NULL THEN 0
WHEN SecondScriptKind_ID IN (@SqlQuery, @SqlScript) THEN 1
ELSE 0
END
在這種情況下,是否需要WHEN SecondScriptKind_ID IS NULL
?
保證@SqlQuery和@SqlScript都包含值(NOT NULL)。
將ANSI_NULLS
設置為on
,則沒有必要:即使@SqlQuery
或@SqlScript
碰巧為NULL
, IN
也不SecondScriptKind_ID
NULL
SecondScriptKind_ID
匹配到該列表。 換句話說,條件
NULL IN (NULL, 123)
評估為NULL
。 保留顯式NULL
檢查的唯一原因是,如果您想為NULL
返回一個不同的數字,例如負1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.