PostgreSQL修改字段int类型为timestamp(报错)

我之前的字段类型为int,需要修改成timestamp时间类型,尝试之后发现不能直接转换,报错如下:

ERROR:  cannot cast type integer to timestamp without time zone
LINE 2: TYPE TIMESTAMP USING create_time::timestamp without time zon...

错误:无法将类型整数强制转换为没有时区的时间戳

解决方案:

第一步:先把int类型的字段修改成 VARCHAR

ALTER TABLE tab_name
ALTER COLUMN 要修改的字段名称 TYPE VARCHAR;

第二步:第一步完成后,再将该字段改为timestamp类型

ALTER TABLE tab_name ALTER COLUMN 要修改的字段
TYPE TIMESTAMP USING 要修改的字段::timestamp without time zone;

结果:成功解决postgreSQL不能直接将int类型转换为timestamp类型的问题!


版权声明:本文为m0_46168512原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。