SQL SELECT 两天之间的差异大于 1 天
SQL SELECT Difference between two days greater than 1 day
我有 table 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
我想要 select 所有天数差异(小时数差异并不重要)大于 1 天的行。
如果 SCHEDULESTART 或 SCHEDULEFINISH 在同一天,或者 SCHEDULEFINISH 在第二天,那么这些行不应 selected。
所以结果应该 return 行 IDs: 1 2 3
因为第一行有两天的差异,第二行(6 月 1 日是 5 月 30 日之后的两天)和第三行(3 月 2 日是 2 月 28 日之后的两天)。
这有可能吗?
我知道函数 DAY
但这将 return 那一个月中的唯一一天!
我必须用
开始我的查询
SELECT ID FROM T1 WHERE ...
提前致谢
在 DB2 中,这应该有效:
select t1.*
from t1
where date(schedulestart) < date(schedulefinish) - 1 day;
我有 table 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
我想要 select 所有天数差异(小时数差异并不重要)大于 1 天的行。
如果 SCHEDULESTART 或 SCHEDULEFINISH 在同一天,或者 SCHEDULEFINISH 在第二天,那么这些行不应 selected。
所以结果应该 return 行 IDs: 1 2 3
因为第一行有两天的差异,第二行(6 月 1 日是 5 月 30 日之后的两天)和第三行(3 月 2 日是 2 月 28 日之后的两天)。
这有可能吗?
我知道函数 DAY
但这将 return 那一个月中的唯一一天!
我必须用
SELECT ID FROM T1 WHERE ...
提前致谢
在 DB2 中,这应该有效:
select t1.*
from t1
where date(schedulestart) < date(schedulefinish) - 1 day;