SQL SELECT两天之间的差异大于1天

时间:2018-05-12 15:09:05

标签: sql db2 where where-clause days

我有表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 ... 

提前致谢

1 个答案:

答案 0 :(得分:1)

在DB2中,这应该有效:

select t1.*
from t1
where date(schedulestart) < date(schedulefinish) - 1 day;