MySQL除法保留两位小数

函数:decimal(p,d)
p表示有效数字的精度,取值1~65之间
d表示小数点后的位数,取值0~30且不能大于p

与INT数据类型一样,DECIMAL类型也具有UNSIGNED和ZEROFILL属性。 如果使用UNSIGNED属性,则DECIMAL UNSIGNED的列将不接受负值。

如果使用ZEROFILL,MySQL将把显示值填充到0以显示由列定义指定的宽度。 另外,如果我们对DECIMAL列使用ZERO FILL,MySQL将自动将UNSIGNED属性添加到列。

测试案例:
数据库的表结构


image
image

第一种计算方式:

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

第二种计算方式
返回数字X,截断到D小数位。 如果D为0,结果没有小数点或小数部分。 D是负数,导致值X的小数点左边的D数字变为零。(简单说就是没有四舍五入)

SELECT TRUNCATE(t/100,2) as g  from test
image
select convert(4545.1366,decimal(10,3));
image

版权声明:本文为CSDN博主「JGnewbie」的原创文章
原文链接:https://blog.csdn.net/JGnewbie/article/details/81571333/

你可能感兴趣的:(MySQL除法保留两位小数)