likes
comments
collection
share

Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C

作者站长头像
站长
· 阅读数 48

题记

拥抱今天,梦想明天,每一天都是新的开始,每一个现在都充满无限可能。

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

Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C

解决方式

解决的话,这块就直接使用小例子进行处理了,比如:设置一个数字为1.45698。在下列使用中,会在函数中使用n和d,n对应的是数字,也就是我们设置的1.45698,d对应的保留的小数位数,此处使用2。

一、使用 ROUND 函数

SELECT ROUND(1.45698, 2); 

执行结果:

Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C

通过执行结果,可看出,ROUND(n,d)是一个四舍五入的函数,会根据x对应的位数进行四舍五入。

二、使用 FORMAT 函数

SELECT FORMAT(1.45698, 2);

执行结果:

Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C

通过执行结果,可看出,FORMAT(n,d)是一个四舍五入的函数,会根据x对应的位数进行四舍五入。

三、使用 CAST 函数

SELECT CAST(1.45698 as DECIMAL(10,2));

执行结果:

Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C

通过执行结果,可看出,CAST(n as DECIMAL(10,d)) 会把d转成DECIMAL类型的数据,并根据x对应的位数进行四舍五入。

四、使用 CONVERT 函数

SELECT CONVERT(1.45698,DECIMAL(10,2));

执行结果:

Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C

通过执行结果,可看出,CONVERT(n as DECIMAL(10,d)) 会把d转成DECIMAL类型的数据,并根据x对应的位数进行四舍五入。

五、使用 TRUNCATE 函数

SELECT TRUNCATE(1.45698, 2);

执行结果:

Mysql中常用的保留小数的方法记录一下Mysql中常用的保留小数的方法,主要使用ROUND、FORMAT、CAST、C

通过执行结果,可看出,TRUNCATE(n,d)是一个光舍不入的函数,会根据x对应的位数进行舍去,和x对应位数的数字是否大于不大于5没有关系。

总结

浅浅的记录一下在Mysql中,常用的一些保留小数的方法,具体的使用的话还需根据实际情况进行使用,或者说自己喜欢用那种方式就用那种方式。

如果发现其他方法的话,就会进行添加。

如果掘友们,还有其他的方法的话,也可以进行探讨呦!

展望

璀璨星河,人生如歌,每个人都有自己的生活方式,愿我们都能找到属于自己的节奏。

人生苦短,用心生活。

转载自:https://juejin.cn/post/7416499669637234729
评论
请登录