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