MySQL 数字保留两位小数

1、ROUND(x,d)

    用于数据的四舍五入,ROUND(x)其实就是ROUND(x,0),也就是默认d为0;这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0。

SELECT ROUND(100.3465,2),ROUND(100,2),ROUND(0.6,2),ROUND(114.6,-1);

    结果分别:>100.35,100,0.6,110

2、TRUNCATE(x,d)

    函数返回被舍去至小数点后d位的数字x。若d的值为0,则结果不带有小数点或不带有小数部分。若d设为负数,则截去(归零)x小数点左起第d位开始后面所有低位的值。

SELECT TRUNCATE(100.3465,2),TRUNCATE(100,2),TRUNCATE(0.6,2),TRUNCATE(114.6,-1);

    结果分别:>100.34,100,0.6,110

3、FORMAT(X,D)

    强制保留D位小数,整数部分超过三位的时候以逗号分割,并且返回的结果是string类型的

SELECT FORMAT(100.3465,2),FORMAT(100,2),FORMAT(,100.6,2);

    结果分别:100.35,100.00,100.60

4、convert(value,type)

    类型转换,相当于截取。type如下:

    ♥ 二进制,同带binary前缀的效果 : BINARY

    ♥字符型,可带参数 : CHAR()

    ♥日期 : DATE

    ♥时间: TIME

    ♥日期时间型 : DATETIME

    ♥浮点数 : DECIMAL

    ♥整数 : SIGNED

    ♥无符号整数 : UNSIGNED

SELECT CONVERT(100.3465,DECIMAL(10,2)), CONVERT(100,DECIMAL(10,2)),CONVERT(100.4,DECIMAL(10,2));

    结果分别:100.35,100,100.4

5、 FLOOR(x)

    函数返回小于 x 的最大整数值。

问与答

    Q: floor可以向下取整保留两位小数吗?

    A: floor函数做不到,她只返回整数部分,小数部分舍弃。建议使用ROUND函数进行四舍五入。

posted @   楼兰胡杨  阅读(3164)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示