Как включить все данные за день до полуночи в DB2 - PullRequest
1 голос
/ 24 февраля 2020

Я очень новичок в DB2.

Я заметил, что когда я делаю такой скрипт, все данные за 2020-02-25 00:00:00 исключаются. Я хотел бы видеть все данные до полуночи 2020-02-25 00: 00: 00.

Мой сценарий похож на

SELECT * FROM FMSLIBLE.VVSREXPORTDELIVERIES WHERE FINALDELIVERYDATETIME >= '2020-02-24 00:00:00' AND FINALDELIVERYDATETIME <= '2020-02-25 00:00:00' AND ISPOSTFLIGHT <> 'Y'

My Result Set

Однако, когда я изменяю сценарий на этот, он работает, но исключает любые записи для 25-й полуночи (в основном это единственный кружок на изображении выше).

SELECT * FROM FMSLIBLE.VVSREXPORTDELIVERIES WHERE FINALDELIVERYDATETIME >= '2020-02-24 00:00:00' AND FINALDELIVERYDATETIME <= '2020-02-25 11:59:00' AND ISPOSTFLIGHT <> 'Y'

Столбец FinalDeliveryTime является меткой времени в базы данных, и она рассчитывается в виде десятичных значений, как это

TIMESTAMP(DATE(TIMESTAMP_FORMAT(DIGITS(A.EMDLVA), 'DDMMYY')),TIME(TO_TIMESTAMP(DIGITS(DEC(A.EMDLVT,4)),'HH24MI')) )       
                        END AS FINALDELIVERYDATETIME  

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Выбрать все метки времени для даты.

select * from mylib.mtable where date(mytimestamp) = current date
0 голосов
/ 24 февраля 2020

@ Turo может быть правильным - вы используете DBeaver для запроса, а DBeaver часто подавляет подсекундную часть tinmestamp. Таким образом, вы можете не увидеть полную информацию о времени. Проверьте это из командной строки или настройте DBeaver для отображения полной отметки времени.

Простая проверка - выполните следующую команду в DBeaver

values current timestamp

Вы должны получить этот формат

2020-02-24-18.01.57.834000

Если нет, проверьте настройки меток времени в DBeaver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...