Postgresql中修改列的数据类型

例如有一张表名叫recharge_package,表中已经存在数据。

其中有一recharge_money列,其数据类型是character varying(10),现想将其修改为numeric(7,2),

那么如下即可:

alter table recharge_package alter COLUMN op_name type numeric(7,2) using op_name::numeric(7,2);

系统会自动转换数据的类型。如果转换失败,则修改不会成功。

例如存在非数字格式的字符串,肯定是无法转换为数字的。 会报如下错误:

ERROR: 错误: 无效的类型 numeric 输入语法: "aaaaaaaaaaa" SQL 状态:22P02

你可能感兴趣的:(postgresql,数据库)