目录

1、CEIL()、CEILING()

2、FLOOR()

3、ROUND()、ROUND(X,D)

4、TRUNCATE()


CEIL() 返回不小于参数的最小整数值
CEILING() 返回不小于参数的最小整数值
FLOOR() 返回不大于参数的最大整数值
ROUND() 返回参数的四舍五入值
TRUNCATE() 返回参数舍入到的小数位

1、CEIL()、CEILING()

解释:返回不小于参数的最小整数值

CEIL() 是 CEILING() 的同义词。

mysql> SELECT CEIL(9.12), CEIL(-9.12);
+------------+-------------+
| CEIL(9.12) | CEIL(-9.12) |
+------------+-------------+
|         10 |          -9 |
+------------+-------------+
1 row in set (0.01 sec)mysql> SELECT CEILING(9.12), CEILING(-9.12);
+---------------+----------------+
| CEILING(9.12) | CEILING(-9.12) |
+---------------+----------------+
|            10 |             -9 |
+---------------+----------------+
1 row in set (0.01 sec)

2、FLOOR()

解释:返回不大于参数的最大整数值

mysql>  SELECT FLOOR(9.12), FLOOR(-9.12);
+-------------+--------------+
| FLOOR(9.12) | FLOOR(-9.12) |
+-------------+--------------+
|           9 |          -10 |
+-------------+--------------+
1 row in set (0.01 sec)

3、ROUND()、ROUND(X,D)

解释:

将参数X四舍五入到小数点后第 D 位。舍入算法取决于数据类型。
       如果 D 未指定,则默认为 0,
        D 可以是负的,则X值小数点左边的D位数都为零,
        D 的最大绝对值为30,任何超过30(或-30)的数字都会被截断

mysql> SELECT ROUND(-9.12),ROUND(-9.58),ROUND(9.58);
+--------------+--------------+-------------+
| ROUND(-9.12) | ROUND(-9.58) | ROUND(9.58) |
+--------------+--------------+-------------+
| -9           | -10          | 10          |
+--------------+--------------+-------------+
1 row in set (0.02 sec)mysql> SELECT ROUND(9.298, 1),ROUND(9.298, 0),ROUND(23.298, -1);
+-----------------+-----------------+-------------------+
| ROUND(9.298, 1) | ROUND(9.298, 0) | ROUND(23.298, -1) |
+-----------------+-----------------+-------------------+
| 9.3             | 9               | 20                |
+-----------------+-----------------+-------------------+
1 row in set (0.03 sec)mysql> SELECT ROUND(0.12345678901234567890123456789012345, 35);
+--------------------------------------------------+
| ROUND(0.12345678901234567890123456789012345, 35) |
+--------------------------------------------------+
| 0.123456789012345678901234567890                 |
+--------------------------------------------------+
1 row in set (0.04 sec)

4、TRUNCATE()

解释:

返回舍入到的小数位的参数值。
       如果 D 未指定,则默认为 0,
        D 可以是负的,则X值小数点左边的D位数都为零,
        D 的最大绝对值为30,任何超过30(或-30)的数字都会被截断

注:所有数字均四舍五入为零

mysql> SELECT TRUNCATE(-9.12,0),TRUNCATE(-9.58,0),TRUNCATE(9.58,0);
+-------------------+-------------------+------------------+
| TRUNCATE(-9.12,0) | TRUNCATE(-9.58,0) | TRUNCATE(9.58,0) |
+-------------------+-------------------+------------------+
| -9                | -9                | 9                |
+-------------------+-------------------+------------------+
1 row in set (0.12 sec)mysql>
SELECT TRUNCATE(9.298, 1),TRUNCATE(23.298, -1),TRUNCATE(890912.298, -5);
+--------------------+----------------------+--------------------------+
| TRUNCATE(9.298, 1) | TRUNCATE(23.298, -1) | TRUNCATE(890912.298, -5) |
+--------------------+----------------------+--------------------------+
| 9.2                | 20                   | 800000                   |
+--------------------+----------------------+--------------------------+
1 row in set (0.12 sec)mysql> SELECT TRUNCATE(0.12345678901234567890123456789012345, 35);
+-----------------------------------------------------+
| TRUNCATE(0.12345678901234567890123456789012345, 35) |
+-----------------------------------------------------+
| 0.123456789012345678901234567890                    |
+-----------------------------------------------------+
1 row in set (0.13 sec)

补充:在MySQL 8.0.21及以后版本中,TRUNCATE()返回的数据类型与ROUND()函数的返回类型相同;

本文的代码集:

-- CEIL()、CEILING()
SELECT CEIL(9.12), CEIL(-9.12);
SELECT CEILING(9.12), CEILING(-9.12);-- FLOOR() SELECT FLOOR(9.12), FLOOR(-9.12);-- ROUND(X), ROUND(X,D)
SELECT ROUND(-9.12),ROUND(-9.58),ROUND(9.58);
SELECT ROUND(9.298, 1),ROUND(9.298, 0),ROUND(23.298, -1); -- D 为负的时候小数点左边的D位为 0
SELECT ROUND(0.12345678901234567890123456789012345, 35); -- D 超过30时,会截断-- TRUNCATE()
SELECT TRUNCATE(-9.12,0),TRUNCATE(-9.58,0),TRUNCATE(9.58,0);
SELECT TRUNCATE(9.298, 1),TRUNCATE(23.298, -1),TRUNCATE(890912.298, -5); -- D 为负的时候小数点左边的D位为 0
SELECT TRUNCATE(0.12345678901234567890123456789012345, 35); -- D 超过30时,会截断

若本文有不妥的地方,望指证,谢谢

参考:https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html

MySQL 取整函数四舍五入函数相关推荐

  1. SQL里有取整函数,四舍五入函数,和截取函数 - eminem - JavaEye技术网站

    SQL里有取整函数,四舍五入函数,和截取函数 关键字: s round(123.456,2) ------------ 123.47 ROUND ( numeric_expression , leng ...

  2. java取整公式,Java取整函数 四舍五入函数-Go语言中文社区

    简介 Math类中提供了5个与取整相关的函数,如下所示: static double ceil(double a):天花板函数,返回大于等于a的最小整数(但是以浮点数形式存储). static dou ...

  3. mysql取数据库时间函数_MySQL数据库—日期与时间函数

    一. 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为 ...

  4. Excel 取整/取余/四舍五入 函数

    1.向上取整函数:roundup(a,b) 参数a指需要向上取整的值,参数b指需要保留的小数位(取0即可) 示例:=ROUNDUP(1.1,0) 结果:2 2.向下取整函数:rounddown(a,b ...

  5. matlab-高数 plot 二维画图 绝对值函数 取整函数 分段函数

    2019独角兽企业重金招聘Python工程师标准>>>      matlab : R2018a 64bit       OS : Windows 10 x64 typesettin ...

  6. python中取整函数_如何使用python中的取整floor函数?

    如果一工程通过公式计算得出需要7.1辆汽车,直接取整成7辆肯定是完不成任务的,所以只有向上舍入成8才可以,即取整成7,再加1.取整加1,就是向上舍入成整数.相反,如果取整减1,那就是向下舍入成整数,即 ...

  7. 学习过程中所遇到--如何用python做出取整函数(续)

    取整函数 前言 一.定义 二.性质 三.代码 前言 函数y=[x]称为取整函数,也称高斯函数.其中不超过实数x的最大整数称为x的整数部分,记作[x].该函数被广泛应用于数论,函数绘图和计算机领域. 一 ...

  8. 下取整函数的含义_取整函数

    展开全部 取整函数是指62616964757a686964616fe78988e69d8331333365653261不超过实数x的最大整数称为x的整数部分,记作[x]或INT(x).该函数被广泛应用 ...

  9. 如何使用python中的取整floor函数?

    如果一工程通过公式计算得出需要7.1辆汽车,直接取整成7辆肯定是完不成任务的,所以只有向上舍入成8才可以,即取整成7,再加1.取整加1,就是向上舍入成整数.相反,如果取整减1,那就是向下舍入成整数,即 ...

最新文章

  1. 3梅林刷官改变砖_陶瓷透水砖的四大明显优势
  2. sdutoj-4209-移动小球
  3. 【Python】青少年蓝桥杯_每日一题_10.11_小球反弹
  4. 简单理解session
  5. Jenkins 从选择插件到配置详解-Gradle
  6. 机器学习第三篇:详解朴素贝叶斯算法
  7. hana studio版本和hana版本的区别
  8. [机器学习] XGBoost 自定义损失函数-FocalLoss
  9. 安卓投屏大师_苹果,安卓手机如何免费投屏?只要悄悄按下这里,便能轻松实现...
  10. OpenStack精华问答 | OpenStack 网络中 OpenFlow 规则的作用是什么?
  11. 非插件实现回复可见效果
  12. 【Python】文本进度条
  13. NPM是什么?我们该怎么使用呢
  14. 数据库建表需要外键约束?
  15. socket read time out解决方法_深入浅出讲解:php的socket通信
  16. 恢复初始快捷键_CAD常用命令快捷键大全,47个快捷键50个CAD技巧,教你快速画图...
  17. JVM、JRE、JDK、java ee sdk with jdk四者的区别
  18. Apache CXF 入门第一个示例
  19. mysql group by 用法解析(详细)
  20. DSD, DFF, DSF, DST概念解析

热门文章

  1. Kotlin使用Coroutine+ViewModel+retrofit构建一个网络请求框架
  2. manifest原理和用途
  3. waitpid() 做人要厚道
  4. 远程访问操作mysql数据库
  5. 计算机网络有很多用处,计算机网络的概念、基本组成和用途
  6. watermark-removal: 一款超赞的开源图片去水印解决方案
  7. 四旋翼无人机学习第12节--跨页连接符的标号设置、DRC、PDF导出
  8. DAG 图关键路径算法
  9. 借用excel 设计 fasterport 表格,主要是考虑 转回excel 整齐好看
  10. CentOS 6.5 本地yum源配置