繁体   English   中英

postgres12 更改表与类型转换语法错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM