我使用postgresql 9.3,我使用此查询将timestamp列转换为UTC。
ALTER TABLE table
ALTER timestamp TYPE timestamp
USING timestamp AT TIME ZONE 'UTC' ;
我需要在查询中添加WHERE子句:
ALTER TABLE table
ALTER timestamp TYPE timestamp where timestamp < '2015-01-06 00:00:00'
USING timestamp AT TIME ZONE 'UTC' ;
但是,这是行不通的。关于如何做到这一点没有明确的资源。
您只能将ALTER TYPE构造应用于整列,而不能应用于某些行。如果要转换时间戳值,则应使用UPDATE。
你不能使用where改变表列类型,因为“where”是DML而“alter”是DDL。使用更新whe