我的情况如下:
(StartDate <= @ReportEndDate AND EndDate >= @ReportStartDate) OR EndDate is null
这实际上将检查日期范围是否重叠,这似乎正是您所要的。
DB Fiddle上的演示:
ID | 开始日期| 结束日期 -:| :------------------ | :------------------ 1 | 01/03/2019 00:00:00 | 空值 2 | 01/03/2019 00:00:00 | 04/08/2019 00:00:00 3 | 14/07/2019 00:00:00 | 空值