Есть ли способ правильно преобразовать строку rfc3339 в столбце character varying
в timestamp with timezone
?Преобразование строки rfc3339 в метку времени с часовым поясом
Input: "2015-01-28T17:41:52Z"
Expected output: "2015-01-28 17:41:52+00"
Current output: "2015-01-28 17:41:52+01"
Я попытался следующие
/* begin dummy data */
WITH messages as (
select 123 as id, '2015-01-28T17:41:52Z'::text as received
)
/* end dummy data */
SELECT id, received, (to_timestamp(received, 'YYYY-MM-DDThh24:MI:SS')) as d
FROM messages
Добавление TZ
или tz
невозможно для входных данных и OF
is available in 9.4 но not in 9.3.
rfc3339 - это просто профиль iso8601 - PostregreSQL принимает любой действительный вход iso8601 как 'date' /' timestamp'/'timestamp с часовым поясом'. (попробуйте лить ''2015-01-28T17: 41: 52Z' :: timestamptz') – pozs
Отлично, спасибо. Я приму это в ответ, если вы не возражаете. –