SQL SELECT Разница между двумя днями, превышающими 1 день - PullRequest
0 голосов
/ 12 мая 2018

У меня есть таблица 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 на следующий день, то эти строки НЕ должны выбираться.Таким образом, результат должен возвращать строки с идентификаторами: 1 2 3, потому что первая строка имеет разницу в два дня, вторая строка (1 июня - через 2 дня после 30 мая) и 3-я строка (2 марта - через 2 дня после 28 февраля).Возможно ли это как-то?Я знаю функцию DAY, но она вернет только номер дня в этом месяце !!!Я должен ответить на вопрос

SELECT ID FROM T1 WHERE ... 

Заранее спасибо

1 Ответ

0 голосов
/ 12 мая 2018

В DB2 это должно работать:

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