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

相关文章
相关标签/搜索