postgresql 中round函數的用法說明

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當占位符

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。