У меня есть дата со значением - 08.06.16 19: 56: 20,473000000 в orcle db.Oracle timestamp rounding
CR_DATE - TIMESTAMP(6)
Мне нужна дата, которая будет усечена в верхней части предыдущего часа и преобразована в формат эпохи. Например, если дата указана выше, то она должна округляться до 08.06.16 19:00:00, а затем преобразуется в эпоху, которая должна давать мне окончательный o/p в качестве 1465412400
Я могу использовать следующий запрос для изменения к эпохе, но с этим округлением до ближайшего часа не работает.
ROUND((CAST(CR_DATE AS DATE) - DATE '1970-01-01') * 24 * 60 * 60, 0) AS creationDate
Если я использую
select CR_DATE,TRUNC(CREATION_DATE, 'HH24') AS creationDate
тогда я получаю значение, 08.06.16 и HH: MM детали получает усеченный.
NLS_TIMESTAMP_FORMAT установлен в БД DD.MM.RR HH24: MI: SSXFF
Может кто-то помочь мне исправить это без изменения формата НСЛ?
Вы говорите «округленное до ближайшего часа», но ваш пример показывает, что вы хотите усечь верхнюю часть предыдущего часа. Какая из двух правильная. 'trunc (creation_date, 'HH24')' вернет «дату», усеченную до часа. Ваш клиент может не отображать временную часть, но она все еще существует. –
Спасибо, что посмотрели на это. Да, он обрезается до вершины предыдущего часа и фактически до ближайшего часа. Извиниться за ошибку. Но как мне получить значение с течением времени. Я не хочу, чтобы часть времени полностью испускалась. – RandomQuestions
Что означает «и на самом деле до ближайшего часа»? Похоже, мы вернемся к округлению не усечения –