MSSQL:日期大于特定日期或为空

MSSQL: Date is greater than specific date or is null

这太基础了,我已经很抱歉了。

Where 子句为:开始日期大于 2018 年 7 月 1 日且结束日期大于 2018 年 10 月 1 日或为空

这个 where 子句可以满足我的需要,但我宁愿使用 'ISNULL' 而不是 OR。

WHERE l.[Start Date]  > '07/01/2018' and (l.[End Date] > '10/1/2018' or l.[End Date] is null)

我可以说:

WHERE l.[Start Date]  > '07/01/2018' and (l.[End Date] > ISNULL(l.[End Date]) or something?

如果你想要isnull()你可以这样做:

WHERE l.[Start Date] > '07/01/2018' and isnull(l.[End Date], '11/1/2018') > '10/1/2018'

如果 l.[End Date]null 那么

isnull(l.[End Date], '11/1/2018')

将return

'11/1/2018'

和条件

isnull(l.[End Date], '11/1/2018') > '10/1/2018'

将 return true
当然,您可以改用任何日期,例如 '1/1/2099'