mysql 除法運算保留小數的用法


說明:剛開始用的round(值1/值2*100,1) 結果沒出效果,才搜到decimal函數

 

在工作中會遇到計算小數而且需要顯現出小數末尾的0,我們會用到DECIMAL這個函數,這是一個函數非常強悍:具體用法DECIMAL(P,D);
在上面的語法中:

P是表示有效數字數的精度。 P范圍為1〜65。
D是表示小數點后的位數。 D的范圍是0~30。MySQL要求D小於或等於(<=)P。
DECIMAL(P,D)表示列可以存儲D位小數的P位數。十進制列的實際范圍取決於精度和刻度。

與INT數據類型一樣,DECIMAL類型也具有UNSIGNED和ZEROFILL屬性。 如果使用UNSIGNED屬性,則DECIMAL UNSIGNED的列將不接受負值。

如果使用ZEROFILL,MySQL將把顯示值填充到0以顯示由列定義指定的寬度。 另外,如果我們對DECIMAL列使用ZERO FILL,MySQL將自動將UNSIGNED屬性添加到列。

測試案例:
數據庫的表結構

 

 

 

 



第一種計算方式:

select convert(t/100,decimal(15,2)) as money from test

 

 


select convert(t/100,decimal(10,2)) as money from test

 

 


第二種計算方式
返回數字X,截斷到D小數位。 如果D為0,結果沒有小數點或小數部分。 D是負數,導致值X的小數點左邊的D數字變為零。(簡單說就是沒有四舍五入)

SELECT TRUNCATE(t/100,2) as g from test

 

 


select convert(4545.1366,decimal(10,3));

 

 

 


原文鏈接:https://blog.csdn.net/JGnewbie/article/details/81571333


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM