在包含数据的表格中,我有一个varchar(255)
类型的列。我在列中的数据是数字,表示每行中该列中的单个数字。我想将其数据类型转换为整数。我怎么能这么容易呢?我应该只将其类型更改为整数吗?或创建迁移以转换其中的数据?
答案 0 :(得分:0)
您可以将ALTER TABLE
与USING
:
ALTER TABLE yourTable ALTER COLUMN col_name TYPE integer USING (col_name::integer);
请注意,只有当您 在您要转换的列中包含数字时,此功能才有效。如果您还有其他任何内容,例如空格,则需要先尝试将其删除,然后再尝试转换。
另请注意,如果Postgres中的整数类型的任何数据超出范围(即大于2147483647或小于-2147483648),转换也将失败。
阅读here进行更深入的讨论。