Как поставить где условие в SQL для извлечения записей из столбца, который имеет дату и время в формате UTC?

У меня есть некоторые данные в одном из столбца lastmodified это в формате UTC. Пример данных ниже.

Последний измененный столбец (данные выборки):

05-NOV-15 08.44.00.682392000 PM
05-NOV-15 08.43.00.808086000 PM
06-NOV-15 06.15.01.035835000 PM
06-NOV-15 06.14.00.694774000 PM
07-NOV-15 04.26.00.851745000 PM
07-NOV-15 04.26.00.690437000 PM
08-NOV-15 04.25.00.850166000 PM
08-NOV-15 04.25.00.683356000 PM
09-NOV-15 04.24.00.821617000 PM
09-NOV-15 04.24.00.768993000 PM
10-NOV-15 04.23.00.804560000 PM
10-NOV-15 01.20.00.501400000 PM

Запрос:

select *
  from my_table
 where trunc(lastmodified) = to_char(sysdate, 'dd-mon-yy');

Вышеупомянутый запрос работает, но не дает мне то, что я хочу. Как я могу получить все записи выше 10-NOV-15 01.00.00 дата-время?

1 ответ

Решение

Учитывая, что тип данных lastmodified является TIMESTAMP ты должен быть в состоянии сделать

SELECT *
  FROM MY_TABLE
  WHERE TRUNC(LASTMODIFIED) = TRUNC(SYSDATE)

Или, если вы действительно хотите получить записи>= 10-NOV-15 01.00.00, вы можете использовать

SELECT *
  FROM MY_TABLE
  WHERE LASTMODIFIED >= TO_DATE('10-NOV-15 01.00.00', 'DD-MON-RR HH24.MI.SS')

Удачи.

Другие вопросы по тегам