2014-09-11 3 views
-2

Мне нужно изменить столбец таблицы «время с часовым поясом» на «отметка времени с часовым поясом».Преобразование «времени с часовым поясом» в «метку времени с часовым поясом» в Postgresql

I судимого

alter table mytable 
alter column date type timestamp with time zone using date::timestamp with time zone 

Но я получаю сообщение об ошибке, что Postgres не может автоматически преобразовывать эти типы. Как я могу это сделать? SQLFiddle

+0

http://stackoverflow.com/a/18255845/3682599 или http://stackoverflow.com/a/18255040/3682599 –

ответ

0

@Winged Panther большое спасибо;) Поскольку время просачивается дату его можно преобразовать с постоянной датой:

alter table mytable 
alter column date type timestamp with time zone using date('20140101') + date; 
0

Вы можете указать using null как механизм преобразования, чтобы начать с пустыми значениями:

alter table mytable 
    alter column date type timestamp with time zone 
    using null; 
+0

так что я должен усечь мой стол первым? Есть ли способ скрывать эту колонку? – 0bmis

+0

@ 0bmis: нет необходимости обрезать строки, но для преобразования вам придется предоставить свой собственный метод. Время не содержит достаточной информации для создания метки времени (ей не хватает даты), и postgres не могут придумать эту информацию. –

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