Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C
题记
拥抱今天,梦想明天,每一天都是新的开始,每一个现在都充满无限可能。
Youth means limitless possibilities。
事情经过
早上过来,老大找到我说,需要加一个功能,需要在用户管理界面上加一个用户这段时间消费的总金额。虽然很简单,但是获取到用户消费总金额的话需要和订单表进行关联,看着数据库订单表已经有10w+的数据,索性就先不加了,就先使用sql语句查询出每个用户消费金额导出到excel中就行了。sql写起来很简单,在执行完的时候,消费总金额字段有多个小数,按理来说保留两位即可,随即使用mysql中保留小数的方法进行修改、执行、导出excel,进行交工。
为了后期在使用过程中方便使用,加上下午时间充裕,特此记录一下Mysql中常用的保留小数的方法!!!
回归正题
前戏
来来来,先看下我的sql与执行之后的结果
SELECT user_id,SUM(actual_amount) FROM t_order GROUP BY user_id
解决方式
解决的话,这块就直接使用小例子进行处理了,比如:设置一个数字为1.45698。在下列使用中,会在函数中使用n和d,n对应的是数字,也就是我们设置的1.45698,d对应的保留的小数位数,此处使用2。
一、使用 ROUND
函数
SELECT ROUND(1.45698, 2);
执行结果:
通过执行结果,可看出,ROUND(n,d)是一个四舍五入的函数,会根据x对应的位数进行四舍五入。
二、使用 FORMAT
函数
SELECT FORMAT(1.45698, 2);
执行结果:
通过执行结果,可看出,FORMAT(n,d)是一个四舍五入的函数,会根据x对应的位数进行四舍五入。
三、使用 CAST
函数
SELECT CAST(1.45698 as DECIMAL(10,2));
执行结果:
通过执行结果,可看出,CAST(n as DECIMAL(10,d)) 会把d转成DECIMAL类型的数据,并根据x对应的位数进行四舍五入。
四、使用 CONVERT
函数
SELECT CONVERT(1.45698,DECIMAL(10,2));
执行结果:
通过执行结果,可看出,CONVERT(n as DECIMAL(10,d)) 会把d转成DECIMAL类型的数据,并根据x对应的位数进行四舍五入。
五、使用 TRUNCATE
函数
SELECT TRUNCATE(1.45698, 2);
执行结果:
通过执行结果,可看出,TRUNCATE(n,d)是一个光舍不入的函数,会根据x对应的位数进行舍去,和x对应位数的数字是否大于不大于5没有关系。
总结
浅浅的记录一下在Mysql中,常用的一些保留小数的方法,具体的使用的话还需根据实际情况进行使用,或者说自己喜欢用那种方式就用那种方式。
如果发现其他方法的话,就会进行添加。
如果掘友们,还有其他的方法的话,也可以进行探讨呦!
展望
璀璨星河,人生如歌,每个人都有自己的生活方式,愿我们都能找到属于自己的节奏。
人生苦短,用心生活。
转载自:https://juejin.cn/post/7416499669637234729