2016-06-10 4 views
1

У меня есть номер столбца в базе данных оракула, в котором хранится метка времени. Я хочу преобразовать это в DATE, и я не знаю, как это сделать.Преобразование числа в формат даты в oracle

Ниже приведено то, что я ищу, пожалуйста, предложите.

Значение 1465484486246 должно быть преобразовано в 2016/06/09 15:01:26,246 GMT

ответ

0

Вы можете использовать NUMTODSINTERVAL вместе с to_date, чтобы достичь того, чего вы хотите:

TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL(col/1000,'SECOND'), 
     'YYYY/MM/DD HH24:MI:SS') 

Здесь я предполагаю, что ваша колонка временной метки называется col. Временная отметка 1465484486246, которую вы нам дали, находится в миллисекундах, поэтому я использовал col/1000 в NUMTODSINTERVAL.

+0

Я получаю результат как «09-JUN-16», остальная часть части отсутствует в наборе результатов. – ankitpandey

+0

Теперь я получаю ORA-01843: не допустимая ошибка месяца при выполнении sql. – ankitpandey

+1

Это сработало, спасибо Тиму. – ankitpandey

Смежные вопросы