我想将一列数据从文本更改为类型时间戳。我的数据中没有时区。我的数据格式是 28-03-17 17:22,包括时间和日期,但没有时区。换句话说,我所有的数据都在同一个时区。我该怎么做?
我在下面尝试了多种方法,但我仍然找不到正确的方法。希望您能够帮助我。
当然,如果我的麻烦可以解决,我可以建立一个新表。
alter table AB
alter create_time type TIMESTAMP;
ERROR: column "create_time" cannot be cast automatically to type timestamp without time zone
HINT: You might need to specify "USING create_time::timestamp without time zone".
********** Error **********
ERROR: column "create_time" cannot be cast automatically to type timestamp without time zone
SQL state: 42804
Hint: You might need to specify "USING create_time::timestamp without time zone".
alter table AB
alter create_time type TIMESTAMP without time zone;
ERROR: column "create_time" cannot be cast automatically to type timestamp without time zone
HINT: You might need to specify "USING create_time::timestamp without time zone".
********** Error **********
ERROR: column "create_time" cannot be cast automatically to type timestamp without time zone
SQL state: 42804
Hint: You might need to specify "USING create_time::timestamp without time zone".
alter table AB
alter create_time::without time zone type TIMESTAMP;
ERROR: syntax error at or near "::"
LINE 2: alter create_time::without time zone type TIMESTAM
^
********** Error **********
ERROR: syntax error at or near "::"
SQL state: 42601
Character: 50
alter table AB
alter create_time UTC type TIMESTAMP;
ERROR: syntax error at or near "UTC"
LINE 2: alter create_time UTC type TIMESTAMP;
^
********** Error **********
ERROR: syntax error at or near "UTC"
SQL state: 42601
Character: 50
原文由 Amy 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果
create_time
是具有有效日期值的 TEXT 类型,则进行如下更改会更容易(建议先进行表转储作为备份):