mysql除法运算保留小数的用法

参照:https://www.cnblogs.com/owenma/p/7097602.html
在工作中会遇到计算小数而且需要显现出小数末尾的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));

这里写图片描述

  • 13
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值