簡體   English   中英

在此CASE表達式中是否需要查詢IS NULL?

[英]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碰巧為NULLIN也不SecondScriptKind_ID NULL SecondScriptKind_ID匹配到該列表。 換句話說,條件

NULL IN (NULL, 123)

評估為NULL 保留顯式NULL檢查的唯一原因是,如果您想為NULL返回一個不同的數字,例如負1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM