MySQL各种方式取整、取小数

不四舍五入取整(截取整数部分)就是向下取整。
除了用truncate函数来不四舍五入取小数,我们还可以通过变换的方法利用向下取整得到。
先把需要的小数部分换算成整数,使用向下取整后再换算成小数。

类型 类别 函数名 描述
取整 向下 floor(expr) 返回小于expr的最大整数
取整 向上 ceil(expr) 返回大于expr的最小整数
取整 向上 ceiling(expr) 返回大于expr的最小整数
取整 四舍五入 round(expr) 四舍五入取整,后面没有num默认取整
取整 四舍五入 round(expr,num) 四舍五入取整,num为0表示取整
取整 不四舍五入 truncate(expr,num) 不四舍五入取整,num为0表示取整
取小数 四舍五入 round(expr,num) 四舍五入取小数,num指取几位小数
取小数 不四舍五入 truncate(expr,num) 不四舍五入取小数,num指取几位小数
取小数 不四舍五入 round(floor(expr*temp)/temp,num) 其中temp=10^num,num指取几位小数

实例

select
 floor(52.45),                      #52
 floor(52.54),                      #52
 ceil(52.4),                        #53
 ceiling(52.5),                     #53
 round(52.45),                      #52
 round(52.45, 0),                   #52
 round(52.54, 0),                   #53
 truncate(52.45,0),                 #52
 truncate(52.55,0),                 #52
 round(52.45, 1),                   #52.5
 round(52.54, 1),                   #52.5
 truncate(52.45,1),                 #52.4
 truncate(52.54,1),                 #52.5
 round(floor(52.45*10)/10,1),       #52.4
 round(floor(52.54*10)/10,1)        #52.5

#输出:52|52|53|53|52|52|53|52|52|52.5|52.5|52.4|52.5|52.4|52.5

小数点后一位以<0.5取0,>=0.5取0.5

floor(expr/0.5)*0.5
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容