Привет, у меня есть этот запрос, конвертирующий номер в дату и время

select TO_CHAR(TO_DATE('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + (('1602400733') / (60 * 60 * 24)), 'MM/DD/YYYY HH:MI:SS AM') from dual

Которые дают мне результат 10/11/2020 07:18:53 AM

Как сделать это время снова в обратном порядке?

Извините, я новичок в Oracle, я не знаю, с чего начать

-1
kim 6 Ноя 2020 в 04:04

1 ответ

Лучший ответ

Вопрос в том, как преобразовать дату в метку времени эпохи.

Вот простой подход, который согласуется с вашим текущим кодом, который превращает эпоху в дату:

(mydate - date '1970-01-01') * 60 * 60 * 24

mydate представляет значение date, которое вы хотите преобразовать.

Обратите внимание, что здесь для объявления литералов даты используется стандартный date 'YYYY-MM-DD', а не to_date(). Используя этот синтаксис, ваш исходный код будет проще выразить как:

date '1970-01-01' + mynumber / 60 / 60 / 24
1
GMB 6 Ноя 2020 в 01:08