Sql alter列(使用+;where)
我使用postgresql 9.3, 我使用此查询将时间戳列转换为UTCSql alter列(使用+;where),sql,postgresql,alter,Sql,Postgresql,Alter,我使用postgresql 9.3, 我使用此查询将时间戳列转换为UTC ALTER TABLE table ALTER timestamp TYPE timestamp USING timestamp AT TIME ZONE 'UTC' ; 我需要将WHERE CLOUSE添加到查询中: ALTER TABLE table ALTER timestamp TYPE timestamp where timestamp < '2015-01-06 00:00:00' USING t
ALTER TABLE table
ALTER timestamp TYPE timestamp
USING timestamp AT TIME ZONE 'UTC' ;
我需要将WHERE CLOUSE添加到查询中:
ALTER TABLE table
ALTER timestamp TYPE timestamp where timestamp < '2015-01-06 00:00:00'
USING timestamp AT TIME ZONE 'UTC' ;
altertable
更改时间戳类型时间戳,其中时间戳<'2015-01-06 00:00:00'
在时区“UTC”使用时间戳;
但是,这是行不通的。
关于如何做到这一点,没有明确的资源 您只能对整个列应用ALTER TYPE构造,而不能对某些行应用ALTER TYPE构造。如果要转换时间戳值,则应改用UPDATE。您可以仅对整个列应用ALTER TYPE构造,而不是对某些行应用ALTER TYPE构造。如果要转换时间戳值,则应改用UPDATE。不能使用where更改表列类型,因为“where”是DML,“alter”是DDL。使用updatewhe您不能使用where更改表列类型,因为“where”是DML,“alter”是DDL。使用update whe更改特定行的列的要求是什么?更改特定行的列的要求是什么?是的,您是对的。我用过:updatetable set timestamp=时区“UTC”的时间戳,其中时间戳<“2015-01-06 00:00:00”是的,你说得对。我使用的方法是:更新表集时间戳=时区“UTC”的时间戳,其中时间戳<“2015-01-06 00:00:00”