加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql如何实现除法保留两位小数

发布时间:2022-06-18 13:13:45 所属栏目:MySql教程 来源:互联网
导读:在工作中会遇到计算小数而且需要显现出小数末尾的0,我们会用到DECIMAL这个函数,这是一个函数非常强悍:具体用法DECIMAL(P,D); 在上面的语法中: P是表示有效数字数的精度。 P范围为165。 D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(=
  在工作中会遇到计算小数而且需要显现出小数末尾的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
 
  TRUNCATE(x,d):函数返回被舍去至小数点后d位的数字x。若d的值为0,则结果不带有小数点或不带有小数部分。若d设为负数,则截去(归零)x小数点左起第d位开始后面所有低位的值。
 
  “mysql如何实现除法保留两位小数”的内容就介绍到这里了,感谢大家的阅读。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读