1
我有它有兩個參數的存儲過程:有條件的where子句中的SQL日期範圍
@PublishedFrom SMALLDATETIME = NULL,
@PublishedDeadline SMALLDATETIME = NULL
我想,當PublishedDeadline
爲null,則WHERE
條件應具備:
WHERE (dbo.Vacancies.StartDate >= @PublishedFrom
OR @PublishedFrom IS NULL)
但如果PublishedDeadline
不爲空然後WHERE
子句應該像
WHERE v.startdate <= @PublishedDeadline
and @PublishedFrom <= v.EndDate
如何在SQL中應用條件where子句?
請建議
我是否需要添加檢查對於發佈後的第二部分是否爲空? – DotnetSparrow
這取決於您希望查詢的行爲如何。沒有關於你的意圖的所有信息,我不能回答這個問題。但是,我可以說,像'NULL <= something'這樣的比較會給你'NULL'的結果。 – Alexander
@DotnetSparrow如果您不確定,只需在'PublishedDeadline IS NOT NULL'之後添加'AND PublishedFrom IS NOT NULL' – Alexander