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'
这太基础了,我已经很抱歉了。
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'