round函數(shù)是去小數(shù)點,我查過好多方法并不好用,于是有了
round(cast(a/b as numeric), 2)
這個就可以用,要加個cast才可以的
補充:postgresql中to_char和round的混合使用
在postgresql中大家都用過round吧,當遇到小數(shù)的時候該如何顯示呢?看例子
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
看出規(guī)則了沒?
呵呵,以上sql的結(jié)果說明:0是任意占位符,如果0位上有數(shù)據(jù)那就顯示數(shù)據(jù),如果沒有數(shù)據(jù)就顯示0;9是實數(shù)占位符,9位上有數(shù)據(jù)(大于0 的數(shù)),顯示數(shù)據(jù),沒有數(shù)據(jù)則什么也不顯示。
所以當我們要取百分數(shù)或千分數(shù)的時候,要滿足xx.xx的格式時,就要用90.99當占位符
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- postgresql 除法保留小數(shù)位的實例
- PostGresql 實現(xiàn)四舍五入、小數(shù)轉(zhuǎn)換、百分比的用法說明
- psql除法保留小數(shù),實現(xiàn)向上取整和向下取整操作