我需要检查我的数据库中是否有两个日期和另外两个日期.
我的数据库看起来像这样
+----+--------------+------------+------------+
| id | code | StartDate | EndDate |
+----+--------------+------------+------------+
| 1 | KUVX-21-40 | 2013-10-23 | 2013-11-22 |
| 2 | UEXA286-1273 | 2013-10-30 | 2013-11-29 |
| 3 | UAJFAU-2817 | 2013-10-21 | 2013-11-20 |
| 4 | KUVX-21-40 | 2013-10-30 | 2013-11-29 |
+----+--------------+------------+------------+
在我的查询中,我指定范围:开始日期和结束日期
让它们如下:
ScopeStartDate = "2013-10-1"
ScopeEndDate = "2013-11-26"
上面应该返回所有记录,因为所有记录都与时间跨度重叠.
但是我无法查询工作:/
我试过以下查询没有运气:
WHERE
(
(StartDate < ScopeStartDate AND StartDate > ScopeStartDate)
OR
(StartDate > ScopeStartDate AND EndDate < ScopeEndDate )
)
这给我两个结果:
1和3
我究竟做错了什么?