PostgreSQL:用datetime替换字符串
我有一个带有时间戳的可变字符字段(datestring),我想将其转换为时间戳类型。我可以成功地创建一个新的时间戳列(见下文),并使用列datestring的格式化版本填充此列,但我不希望创建一个新字段,我只想用其自身的时间戳版本替换datestring字段 所以这很好:PostgreSQL:用datetime替换字符串,postgresql,timestamp,type-conversion,Postgresql,Timestamp,Type Conversion,我有一个带有时间戳的可变字符字段(datestring),我想将其转换为时间戳类型。我可以成功地创建一个新的时间戳列(见下文),并使用列datestring的格式化版本填充此列,但我不希望创建一个新字段,我只想用其自身的时间戳版本替换datestring字段 所以这很好: ALTER TABLE service_areas ADD COLUMN newdate timestamp update service_areas set newdate = to_timestamp(datestring
ALTER TABLE service_areas ADD COLUMN newdate timestamp
update service_areas set newdate = to_timestamp(datestring, 'YYYY-MM-DD HH24:MI:SS.MS')
但我想做一些事情,比如:
update service_areas set datestring = to_timestamp(datestring, 'YYYY-MM-DD HH24:MI:SS.MS')
建议
使用USING子句
postgres=# CREATE TABLE foo(a varchar);
CREATE TABLE
postgres=# INSERT INTO foo VALUES('2013-07-15');
INSERT 0 1
postgres=# ALTER TABLE foo ALTER COLUMN a TYPE date USING to_date(a,'YYYY-MM-DD');
ALTER TABLE
postgres=#创建表foo(一个varchar);
创建表
postgres=#插入foo值('2013-07-15');
插入0 1
postgres=#将表foo ALTER列a类型日期用于\u日期(a,'yyy-MM-DD');
更改表格
工作得很好!(我是该网站的新手,试图将此标记为正确答案,如果我没有正确回答,请告诉我)。