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當占位符
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- postgresql 除法保留小數位的實例
- PostGresql 實現四舍五入、小數轉換、百分比的用法說明
- psql除法保留小數,實現向上取整和向下取整操作