Я хочу получить дату и время из 19-значного числа в Oracle и не смог найти решения для этих больших чисел. Время должно быть в формате HH24:MI:SS. Я могу получить дату, но не могу получить время.
** Примеры чисел для получения даты и времени:
1190205161950369000 , 1190206092859146000 , 1181230172734928000 , 1181108121251823000
Для этих чисел выше я добавил к ним дополнительное значение «190000000000000000000» и подстроку первых 8 цифр из общего значения, чтобы первые 8 цифр давали мне дату (ггггммдд).
Например:
SUBSTR(1190205161950369000+19000000000000000000,0,8) = 20190205
Следовательно, дата 05-02-2019 (ДД-ММ-ГГГГ). Но чтобы получить время, даже если я увеличу длину подстроки с 8 до 14 или 18, я все равно получу только дату, а не время.
Используемый SQL-запрос:
Select to_date(SUBSTR(1190205161950369000+19000000000000000000,0,8),
'YYYYMMDD HH24:MI:SS') as truedate
from dual;
Результат:
TRUEDATE
---------
05-02-2019
Я также пробовал это, но не работает:
Select to_date(SUBSTR(1190205161950369000+19000000000000000000,0,14),
'YYYYMMDD HH24:MI:SS.SSSSS') as truedate
from dual;