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的列將不接受負值。.net

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

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

 

 

 

 



第一種計算方式:class

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

 

 


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

 

 


第二種計算方式
返回數字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

相關文章
相關標籤/搜索