我无法在Postgres数据库中将名为end_date
的列中的key_request
列从时区更改为timestamp
。我尝试使用以下代码:
alter table key_request alter column end_date type timestamp with time zone using end_date::timestamp with time zone
我一直收到以下错误:
ERROR: cannot cast type time with time zone to timestamp with time zone
我知道如何调整此查询以便工作吗?
答案 0 :(得分:15)
你可以这样做:
alter table key_request
alter column end_date type timestamp with time zone using date('20130101') + end_date;
答案 1 :(得分:2)
我会在一系列步骤中做到这一点
end_date1
作为time with time zone
end_date
(旧)复制到end_date1
end_date
列end_date1
扩展为end_date
答案 2 :(得分:0)
从java.sql.Date
更改为java.util.Date
ALTER TABLE key_request ALTER COLUMN end_date TYPE timestamp without time zone;
如果您有与该表相关的从属视图
在类型迁移中来自java / hibernate方法的解决方案。
java.sql.Date
已翻译为date
java.util.Date
已翻译为timestamp without time zone