当列的类型为字符类型,当我们想修改为数值类型时,是无法成功的,这个时候我们可以通过以下方法进行修改。
代码语言: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