在4楼层主的sql语句中加了这个条件 or STARTTIME between '2012-01-01' and '2099-09-01' or ENDTIME between '2012-01-01' and '2099-09-01' 经测试是可以的,如果还有什么问题的话欢迎大家提出。
select count(*)
from MNG_EXCHANGERATE
WHERE '2012-01-01' between STARTTIME and ENDTIME or '2099-09-01' between STARTTIME and ENDTIME
or STARTTIME between '2012-01-01' and '2099-09-01' or ENDTIME between '2012-01-01' and '2099-09-01'
4楼层主写的sql少判断了一种情况 我的数据库中的时间段为
2018-07-31 00:00:00.000 2018-08-30 00:00:00.000
2018-09-02 00:00:00.000 2018-09-20 00:00:00.000
2018-06-02 00:00:00.000 2018-07-30 00:00:00.000
使用层主的sql查询 2001-01-01 至2099-09-01还是会返回0(不重复) 实际应该返回1(重复)
select count(*)
from MNG_EXCHANGERATE
WHERE '2001-01-01' between STARTTIME and ENDTIME or '2099-09-01' between STARTTIME and ENDTIME
页面有两个calendar分别是开始日期(startDate)和结束日期(endDate),点击确定后进行重复性验证。
select × from table where VALIDITY_START_DATE_UTC<endDate or VALIDITY_END_DATE_UTC>startDate
如果有结果则说明有时间段重复了。。
我感觉不太对啊。。没什么好的思路了。。