首页 > 数据库    PostgreSQL日期:2021-01-30 / 来自互联网 / 浏览

round函数是去小数点,我查过好多方法并不好用,于是有了

round(cast(a/b as numeric), 2) 

这个就可以用,要加个cast才可以的

补充:postgresql中to_char和round的混合使用

在postgresql中大家都用过round吧,当遇到小数的时候该如何显示呢?看例子

SELECT to_char(round(127 * 0.1 / 67543,6)*10000,'90.99')

1.88

SELECT to_char(round(127 * 0.1 / 67543,6)*10000,'90.00')

1.88

SELECT to_char(round(150 * 0.1 / 50000,6)*1000,'90.09')

0.30

SELECT to_char(round(150 * 0.1 / 50000,6)*1000,'00.09')

00.30

SELECT to_char(round(150 * 0.1 / 50000,6)*1000,'99.09')

.30

看出规则了没?

呵呵,以上sql的结果说明:0是任意占位符,如果0位上有数据那就显示数据,如果没有数据就显示0;9是实数占位符,9位上有数据(大于0 的数),显示数据,没有数据则什么也不显示。

所以当我们要取百分数或千分数的时候,要满足xx.xx的格式时,就要用90.99当占位符

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章