Postgresql 强制修改列的类型

2019-06-13 14:58:29 浏览数 (4)

当列的类型为字符类型,当我们想修改为数值类型时,是无法成功的,这个时候我们可以通过以下方法进行修改。

如果表里有数据,谨慎使用!!! 如果表里有数据,谨慎使用!!! 如果表里有数据,谨慎使用!!!

代码语言:javascript复制
ALTER TABLE the_table ALTER COLUMN col_name TYPE integer USING (col_name::integer);

如果字段里有空白字符,使用以下方法:

代码语言:javascript复制
ALTER TABLE the_table ALTER COLUMN col_name TYPE integer USING (trim(col_name)::integer);

在类型转换前先去空白。

参考:

  • ALTER TABLE ... ALTER COLUMN ... TYPE ... USING:
  • StackOverflow

1 人点赞