mysql怎么實現(xiàn)除法保留兩位小數(shù)

mysql除法保留兩位小數(shù)的方法:1、利用“DECIMAL(P,D)”函數(shù),語法“convert(值1/值2,decimal(15,2))”;2、利用TRUNCATE()函數(shù),語法“TRUNCATE(值1/值2,2)”。

mysql怎么實現(xiàn)除法保留兩位小數(shù)

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

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

在上面的語法中:

  • P是表示有效數(shù)字數(shù)的精度。 P范圍為1?65。

  • D是表示小數(shù)點后的位數(shù)。 D的范圍是0~30。MySQL要求D小于或等于(

DECIMAL(P,D)表示列可以存儲D位小數(shù)的P位數(shù)。十進制列的實際范圍取決于精度和刻度。

int數(shù)據(jù)類型一樣,DECIMAL類型也具有UNSIGNED和ZEROFILL屬性。 如果使用UNSIGNED屬性,則DECIMAL UNSIGNED的列將不接受負值。

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

測試案例:

數(shù)據(jù)庫的表結(jié)構(gòu)

mysql怎么實現(xiàn)除法保留兩位小數(shù)

mysql怎么實現(xiàn)除法保留兩位小數(shù)

第一種計算方式:

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

mysql怎么實現(xiàn)除法保留兩位小數(shù)

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

mysql怎么實現(xiàn)除法保留兩位小數(shù)

第二種計算方式

返回數(shù)字X,截斷到D小數(shù)位。 如果D為0,結(jié)果沒有小數(shù)點或小數(shù)部分。 D是負數(shù),導致值X的小數(shù)點左邊的D數(shù)字變?yōu)榱恪?簡單說就是沒有四舍五入)

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

mysql怎么實現(xiàn)除法保留兩位小數(shù)

TRUNCATE(x,d):函數(shù)返回被舍去至小數(shù)點后d位的數(shù)字x。若d的值為0,則結(jié)果不帶有小數(shù)點或不帶有小數(shù)部分。若d設(shè)為負數(shù),則截去(歸零)x小數(shù)點左起第d位開始后面所有低位的值。

【相關(guān)推薦:mysql視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊8 分享