我有一个 varchar 类型,其中每个值看起来像
539,000
153,300
55,300
752,500
4410,000
我需要用数字格式更改列类型
我尝试使用 to_number 但它不起作用
最佳答案
如果您的文本表示是德语十进制值(逗号是小数点分隔符):
用点替换逗号并简单地转换为 float :
SELECT replace('123,456', ',', '.')::float
如果逗号分隔千组,您需要使用 G
格式化程序,它描述了这一点:
SELECT to_number('123,456', 'FM999G999')
FM
抑制前导空格和零,因此即使更小的数字也可以:
SELECT to_number('56', 'FM999G999')
关于postgresql - 如何将逗号后的3个数字的varchar转换为浮点型PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57609620/