我正在寻找一个函数,使我能够剥离尾随零的小数部分的数字(数字类型)。例如,保存在numeric类型列中的数字如下:23.45000将作为23.45返回我在文档中找不到任何这样的函数,是否存在这样的函数,或者我需要自己编写一些自定义函数?
jm2pwxwz1#
这不是特别优雅,但会做的伎俩:
SELECT regexp_replace(numeric_value::text, '^(-??\d*?\.\d*?)0*$', '\1');
字符串
xqkwcwgp2#
我修改Laurenz的回答:
SELECT regexp_replace(rate_percent::text, '^(-?\d*?\.)(\d+?)0*$', '\1\2');
字符串所以,如果你需要得到2.0(float),你应该使用我的变体。在Laurenz中,regexp 2.0转换为2。
2条答案
按热度按时间jm2pwxwz1#
这不是特别优雅,但会做的伎俩:
字符串
xqkwcwgp2#
我修改Laurenz的回答:
字符串
所以,如果你需要得到2.0(float),你应该使用我的变体。在Laurenz中,regexp 2.0转换为2。