我有表T1
ID SCHEDULESTART SCHEDULEFINISH
1 2018-05-12 14:00:00 2018-05-14 11:00:00
2 2018-05-30 14:00:00 2018-06-01 11:00:00
3 2018-02-28 14:00:00 2018-03-02 11:00:00
4 2018-02-28 14:00:00 2018-03-01 11:00:00
5 2018-05-30 14:00:00 2018-05-31 11:00:00
我想选择天数差异(以小时为单位的重要差异)大于1天的所有行。
如果SCHEDULESTART或SCHEDULEFINISH在同一天或SCHEDULEFINISH在第二天,则不应选择这些行。
因此,结果应返回ID为1 2 3
的行
因为第一行在两天内有差异,第二行(6月1日是5月30日后2天)和第3行(3月2日是2月28日后2天)。
这有可能吗?
我知道函数DAY
,但这只会在一个月内返回日期!
我必须用
SELECT ID FROM T1 WHERE ...
提前致谢
答案 0 :(得分:1)
在DB2中,这应该有效:
select t1.*
from t1
where date(schedulestart) < date(schedulefinish) - 1 day;