在postgresql中从数字(NumericType)小数部分中去掉零

tuwxkamq  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(2)|浏览(473)

我正在寻找一个函数,使我能够剥离尾随零的小数部分的数字(数字类型)。例如,保存在numeric类型列中的数字如下:23.45000将作为23.45返回
我在文档中找不到任何这样的函数,是否存在这样的函数,或者我需要自己编写一些自定义函数?

jm2pwxwz

jm2pwxwz1#

这不是特别优雅,但会做的伎俩:

SELECT regexp_replace(numeric_value::text, '^(-??\d*?\.\d*?)0*$', '\1');

字符串

xqkwcwgp

xqkwcwgp2#

我修改Laurenz的回答:

SELECT regexp_replace(rate_percent::text, '^(-?\d*?\.)(\d+?)0*$', '\1\2');

字符串
所以,如果你需要得到2.0(float),你应该使用我的变体。在Laurenz中,regexp 2.0转换为2。

相关问题