round函数是去小数点,我查过好多方法并不好用,于是有了
1
|
round( cast (a/b as numeric ), 2)
|
这个就可以用,要加个cast才可以的
补充:postgresql中to_char和round的混合使用
在postgresql中大家都用过round吧,当遇到小数的时候该如何显示呢?看例子
1
|
SELECT to_char(round(127 * 0.1 / 67543,6)*10000, '90.99' )
|
1.88
1
|
SELECT to_char(round(127 * 0.1 / 67543,6)*10000, '90.00' )
|
1.88
1
|
SELECT to_char(round(150 * 0.1 / 50000,6)*1000, '90.09' )
|
0.30
1
|
SELECT to_char(round(150 * 0.1 / 50000,6)*1000, '00.09' )
|
00.30
1
|
SELECT to_char(round(150 * 0.1 / 50000,6)*1000, '99.09' )
|
.30
看出规则了没?
呵呵,以上sql的结果说明:0是任意占位符,如果0位上有数据那就显示数据,如果没有数据就显示0;9是实数占位符,9位上有数据(大于0 的数),显示数据,没有数据则什么也不显示。
所以当我们要取百分数或千分数的时候,要满足xx.xx的格式时,就要用90.99当占位符
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/qq_42832858/article/details/89203294