我想详细说明一个很好的问题here.我试图将数据库中的一列从字符串转换为整数.

我以为转化会很直接.目前我的字符串是

["10", "12", "125", "135", "140", ...]

我的迁移文件包括:

def change
    change_column :table_name, :product_code, :integer
end

Railstry 了这一点,但Postgresql发现了一个错误.

PG::错误:错误:"产品代码"列不能自动转换为整数类型

我不确定如何在rails迁移中使用这个"USING"表达式.

所以我认为转换会非常直接.我应该使用什么作为使用表达式?

推荐答案

change_column :table_name, :product_code,
  'integer USING CAST(product_code AS integer)'

资料来源:

Postgresql相关问答推荐

如何在postquist中修剪第一/后文件名

创建发布性能

为MCV扩展统计设置统计目标

如何诊断字符编码问题

select语句的Jooq代码生成

PL/pgSQL中的IP递增函数

如何将 jackc/pgx 与连接池、上下文、准备好的语句等一起使用

在Postgres中如何连接具有相同名称列的表并更改列名称?

Prisma:获取连接的活动 Postgresql 模式的名称

需要用 jack/pgx 更新 golang 中复合类型的 PSQL 行

postgres 如何计算多列哈希?

消除 PostgreSQL SELECT 语句中的重复行

PostgreSQL 输入结束时的语法错误

SQLAlchemy、Psycopg2 和 Postgresql 复制

gem install pg 无法绑定到 libpq

PostgreSQL如何连接间隔值'2天'

我如何知道我的 PostgreSQL 服务器是否使用C语言环境?

Rails 验证数组中的值

使用 PostgreSQL 的 Linq To Sql

使用 cte (postgresql) 的结果更新