[英]postgres12 alter table with type cast syntax error
我正在尝试使用如下值更改表。 数据类型是字符串,但我想将其更改为数字。
ALTER TABLE data ALTER COLUMN value TYPE NUMERIC(7,2) USING value::numeric
ERROR: invalid input syntax for type numeric: "1,000.00"
SQL state: 22P02
好吧,简单的转换不起作用。 一种方法是:
using replace(value, ',', '')::numeric
可以在这里找到更通用的方法:
https://www.postgresql.org/docs/current//functions-formatting.html数据类型格式化字符串函数to_number(文本到数字)
所以:
select to_number('1,000.00', '99G9999D99');
to_number
-----------
1000.00
select pg_typeof(to_number('1,000.00', '99G9999D99'));
pg_typeof
-----------
numeric
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.