[英]SQL: case clause in Where clause
我正在嘗試編寫一個查詢,我需要顯示開始日期超過一年或開始日期 = Null 的值。
我已經完成了“一年多前”的部分,但我不知道如何將它與開始日期 = null 合並
我需要用case語句嗎?
Select
T0.JOBID
, T0.JOBTITLE
, T0.STATUS
, T0.STARTDATE
, T0.ENTEREDDATE
From
ENPRISE_JOBCOST_JOB T0
Where
T0.STATUS Not In (7, 8) AND
T0.STARTDATE <= DATEADD(YEAR, -1, GETDATE())
Select T0.JOBID , T0.JOBTITLE , T0.STATUS , T0.STARTDATE , T0.ENTEREDDATE
From ENPRISE_JOBCOST_JOB T0
Where T0.STATUS Not In (7, 8)
AND (T0.STARTDATE <= DATEADD(YEAR, -1, GETDATE()) OR T0.STARTDATE IS NULL)
只需在WHERE
子句中添加一個NULL
檢查:
WHERE
T0.STATUS NOT IN (7, 8) AND
(T0.STARTDATE <= DATEADD(YEAR, -1, GETDATE()) OR TO.STARTDATE IS NULL)
添加OR T0.STARTDATE is null
。 確保在整個謂詞周圍添加括號:
Select
T0.JOBID
, T0.JOBTITLE
, T0.STATUS
, T0.STARTDATE
, T0.ENTEREDDATE
From
ENPRISE_JOBCOST_JOB T0
Where
T0.STATUS Not In (7, 8) AND
(T0.STARTDATE <= DATEADD(YEAR, -1, GETDATE()) OR T0.STARTDATE is null)
Select T0.JOBID, T0.JOBTITLE, T0.STATUS, T0.STARTDATE, T0.ENTEREDDATE 來自 ENPRISE_JOBCOST_JOB T0 其中 T0.STATUS 不在 (7, 8) 和 (T0.STARTDATE <= DATEADD(YEAR, -1, GETDATE( ) 或 T0.STARTDATE 為空)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.