【发布时间】:2018-05-12 15:09:04
【问题描述】:
我有桌子 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 月 2 日是 2 月 28 日之后的 2 天)。
这有可能吗?
我知道函数DAY 但这只会返回那一个月的天数!!!
我必须用
SELECT ID FROM T1 WHERE ...
提前致谢
【问题讨论】:
-
甲骨文、火鸟、mssql?我猜
datediff可以使用。 -
DB2(IBM 数据库)。我标记了它
-
@Sk1X1 。 . .您可以单击标签以查看它们的含义。如果单击“db2”,您将看到它指的是 IBM 生产的“特定”数据库。我将“特定”放在引号中,因为它有无数个版本,因为它是最古老的关系数据库之一。
标签: sql db2 where where-clause days