MYSQL处理金额相关函数

1.FORMAT()数字千分位分割

FORMAT(X,D)
1.X需要格式化的数字
2.D保留小数位数
例:SELECT FORMAT(12334555.213,2)
在这里插入图片描述

2.ABS() 求绝对值

ABS(X)
SELECT ABS(-23);
SELECT ABS(21-23);
SELECT ABS(23);

3.四舍五入保留小数

ROUND(X,D)
1.X需要格式化的数字
2.D保留小数位数(不写时默认保留整数)
SELECT ROUND(5243.65,1);
注意:对于精确的数值, ROUND 函数使用四舍五入;对于近似值,则依赖于底层的C函数库,在很多系统中 ROUND 函数会使用“取最近的偶数”的规则。当存储数字字段为float和double两个浮点数时,刚巧有到边界值就会不准。
例: b表a 字段为float 值为2.65
SELECT ROUND(a,1) FROM b;
结果就为2.6
3、解决方案
方案一:可以在设计表结构的时候,对此类需要四舍五入的数值字段,设置为 DECIMAL 类型。
方案二:通过CAST()函数,将浮点型字段,转换为 DECIMAL格式,再进行ROUND 函数处理 。当需要处理的仅为单个表字段时,直接使用CAST()函数即可完成“浮点数”转换为“小数” 及 “四舍五入”计算
SELECT ROUND(CAST(a AS DECIMAL),1) FROM b;
方案三:可以加一个很小很小的数字(小到数据库保留小数位后两位),仅限测试使用
SELECT ROUND(a+0.0001,1) FROM b;

4.转换字符类型

SELECT CAST(112 AS signed)

5.求余

SELECT MOD(6,5)

6.求商

SELECT 5 div 2

7.求和

SUM()
SELECT SUM(fq_amount) FROM loan_amount WHERE DATE_FORMAT(create_time,’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’)

8.求平均值

AVG()
SELECT AVG(fq_amount) FROM loan_amount WHERE DATE_FORMAT(create_time,’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’)

9.求最大值

MAX()
SELECT MAX(fq_amount) FROM loan_amount WHERE DATE_FORMAT(create_time,’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’)

10.求最小值

MIN()
SELECT MIN(fq_amount) FROM loan_amount WHERE DATE_FORMAT(create_time,’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值