如何将列的数据类型从整数更改为货币?

Gab*_*iel 6 postgresql datatypes alter-table money

我正在尝试将 PostgreSQL 表列从整数转换为货币,但收到错误消息:

不能将类型 MyColumn 转换为 money

我已经尝试过这两个陈述,但还没有找到任何关于如何真正做到这一点的真实例子。

ALTER TABLE products 
    ALTER COLUMN price TYPE money
Run Code Online (Sandbox Code Playgroud)

和:

ALTER TABLE products 
    ALTER COLUMN price TYPE money USING to_char(price, '999.99')
Run Code Online (Sandbox Code Playgroud)

如何将 PostgreSQL 列的数据类型从整数更改为货币?

fra*_*ncs 8

只需尝试以下命令。

ALTER TABLE products ALTER COLUMN price TYPE money using price::text::money
Run Code Online (Sandbox Code Playgroud)

通过将数值转换为文本然后转换为货币,可以将非引用的数值转换为货币


Sco*_*owe 4

尝试

ALTER TABLE products 
    ALTER COLUMN price TYPE money USING price::money
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你第二次尝试时遇到了什么错误?