У меня есть String
в этом формате: 2018-11-01T00:00:00-07:00
, и я хотел бы преобразовать его в TIMESTAMP
и вставить в столбец TIMESTAMP
.Однако, когда я вставляю его, он сбрасывает -07:00
без предварительного преобразования в -00:00
.Как убедиться, что он преобразован и правильно хранится в Redshift?
Вот пример: select ORIGINAL_DATE, TO_TIMESTAMP(ORIGINAL_DATE,'YYYY-MM-DD HH24:MI:SS') FROM CDW_LANDING.X where id = XXXXXX;
=> 2018-11-01T00:00:00-07:00 2018-10-31 17:00:00
Преобразование TO_TIMESTAMP
это к 2018-10-31 17:00:00
что я и хочу.Однако, когда я вставляю его, он становится 2018-11-01 00:00:00
и просто отбрасывает -07:00
.
Вот пример:
insert into cdw_stage.X (ORIG_DT)
select TO_TIMESTAMP(ORIGINAL_DATE,'YYYY-MM-DD HH24:MI:SS')
from CDW_LANDING.INVOICE where id = XXXXXX;
Но когда я запрашиваю его с помощью select ORIG_DT from cdw_landing.X;
,он отображает 2018-11-01 00:00:00
.Я хотел бы видеть 2018-10-31 17:00:00
, что и должна делать функция TO_TIMESTAMP
.
ORIG_DT
в Redshift имеет формат TIMESTAMP
.Дата ввода в VARCHAR
.
Как мне получить Redshift, чтобы сохранить это правильно?Я также добавил тег postgres, потому что Redshift основан на postgres.Большое вам спасибо !!!