Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql alter列(使用+;where)_Sql_Postgresql_Alter - Fatal编程技术网

Sql alter列(使用+;where)

Sql 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

我使用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 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”