2015-10-22 5 views
0

Я новичок в PostgreSQL sql и теперь работаю над уже существующей базой данных. У меня есть столбец с именем value в таблице, и он содержит метку даты и времени в секундах. Поэтому я ищу способ, чтобы преобразовать эти секунды в yyyy-mm-dd hh: mm: ss в базе данных Postgres. Я попытался следующие:Преобразование секунд в yyyy-mm-dd hh: mm: ss PostgreSQL

SELECT TO_CHAR('1444646136079 second'::interval, 'yyyy-mm-dd HH24:MI:SS') 

1444646136079 is the value I would like to convert But I am getting the following error:

ERROR: interval field value out of range: "1444646136079 second"

ответ

4

An interval не "метка".

Функция to_timestamp() принимает секунды как входные данные и может преобразовать их в соответствующую метку времени. Я считаю, что ваш 1444646136079 фактически милли секунд, а не секунды:

select to_char(to_timestamp(1444646136079/1000), 'yyyy-mm-dd HH24:MI:SS') 

возвращает:

2015-10-12 12:35:36 
+0

Для какая 'interval' на самом деле, смотрите руководство: HTTP: //www.postgresql .org/документы/ток/интерактивный/тип данных-datetime.html – IMSoP

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