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

时间:2019-03-01 18:08:48

标签: sql-server where-clause isnull

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

其中子句为:开始日期大于7/1/18,结束日期大于10/1/18或为空

这个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?

1 个答案:

答案 0 :(得分:2)

如果您想要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')

将返回

'11/1/2018'

和条件

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

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

相关问题