MySQL笔记之数学函数详解

 更新时间:2013年05月03日 15:11:55   作者:  
本篇文章对MySQL的数学函数进行了详细的介绍。需要的朋友参考下

绝对值函数ABS(x)和圆周率函数PI()

复制代码 代码如下:

mysql> SELECT ABS(0.5), ABS(-0.5), PI();
+----------+-----------+----------+
| ABS(0.5) | ABS(-0.5) | PI()     |
+----------+-----------+----------+
|      0.5 |       0.5 | 3.141593 |
+----------+-----------+----------+
 row in set (0.00 sec)

平方根函数SQRT(x)和求余函数MOD(x,y)

复制代码 代码如下:

mysql> SELECT SQRT(16), SQRT(3), MOD(13,4);
+----------+--------------------+-----------+
| SQRT(16) | SQRT(3)            | MOD(13,4) |
+----------+--------------------+-----------+
|        4 | 1.7320508075688772 |         1 |
+----------+--------------------+-----------+
 row in set (0.00 sec)

取整函数CEIL(x)、CEILING(x)和FLOOR(x)

复制代码 代码如下:

mysql> SELECT CEIL(2.3), CEIL(-2.3), CEILING(2.3), CEILING(-2.3);
+-----------+------------+--------------+---------------+
| CEIL(2.3) | CEIL(-2.3) | CEILING(2.3) | CEILING(-2.3) |
+-----------+------------+--------------+---------------+
|         3 |         -2 |            3 |            -2 |
+-----------+------------+--------------+---------------+
 row in set (0.00 sec)

mysql> SELECT FLOOR(2.3), FLOOR(-2.3);
+------------+-------------+
| FLOOR(2.3) | FLOOR(-2.3) |
+------------+-------------+
|          2 |          -3 |
+------------+-------------+
 row in set (0.00 sec)


CEIL(x)和CEILING(x)返回大于或等于x的最小整数

FLOOR(x)返回小于或等于x的最大整数

随机数函数RAND()和RAND(x)

复制代码 代码如下:

mysql> SELECT RAND(), RAND(2), RAND(2);
+--------------------+--------------------+--------------------+
| RAND()             | RAND(2)            | RAND(2)            |
+--------------------+--------------------+--------------------+
| 0.8269294489425881 | 0.6555866465490187 | 0.6555866465490187 |
+--------------------+--------------------+--------------------+
 row in set (0.00 sec)

RAND()和RAND(x)这两个函数丢失返回0~1的随机数

区别在于,RAND()返回的数是完全随机的,而RAND(x)在x相同时返回的值相同

四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)

复制代码 代码如下:

mysql> SELECT ROUND(2.3), ROUND(2.5), ROUND(2.53,1), ROUND(2.55,1);
+------------+------------+---------------+---------------+
| ROUND(2.3) | ROUND(2.5) | ROUND(2.53,1) | ROUND(2.55,1) |
+------------+------------+---------------+---------------+
|          2 |          3 |           2.5 |           2.6 |
+------------+------------+---------------+---------------+
 row in set (0.00 sec)

ROUND(x)返回离x最近的整数,也就是对x进行四舍五入处理

ROUND(x,y)返回x保留到小数点后y位的值,在截取时进行四舍五入处理

复制代码 代码如下:

mysql> SELECT TRUNCATE(2.53,1), TRUNCATE(2.55,1);
+------------------+------------------+
| TRUNCATE(2.53,1) | TRUNCATE(2.55,1) |
+------------------+------------------+
|              2.5 |              2.5 |
+------------------+------------------+
 row in set (0.00 sec)

TRUNCATE(x,y)返回x保留到小数点后y位的值,不进行四舍五入操作

符号函数SIGN(x)

复制代码 代码如下:

mysql> SELECT SIGN(-2), SIGN(0), SIGN(2);
+----------+---------+---------+
| SIGN(-2) | SIGN(0) | SIGN(2) |
+----------+---------+---------+
|       -1 |       0 |       1 |
+----------+---------+---------+
 row in set (0.00 sec)

SIGN(x)返回x的符号,-1为负数,0不变,1为整数


幂运算函数POW(x,y)、POWER(x,y)

复制代码 代码如下:

mysql> SELECT POW(3,2), POWER(3,2);
+----------+------------+
| POW(3,2) | POWER(3,2) |
+----------+------------+
|        9 |          9 |
+----------+------------+
 row in set (0.00 sec)

相关文章

  • mysql 查看表大小的方法实践

    mysql 查看表大小的方法实践

    本文主要介绍了mysql 查看表大小的方法实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • MySQL GTID集合运算函数总结

    MySQL GTID集合运算函数总结

    本文主要介绍了MySQL GTID集合运算函数总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • MySQL的Query Cache原理分析

    MySQL的Query Cache原理分析

    QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用QC。每个Cache都是以SQL文本作为key来存的。
    2008-07-07
  • Myeclipse 自动生成可持久化类的映射文件的方法

    Myeclipse 自动生成可持久化类的映射文件的方法

    这篇文章主要介绍了Myeclipse 自动生成可持久化类的映射文件的方法的相关资料,这里提供了详细的实现步骤,需要的朋友可以参考下
    2016-11-11
  • mysql 8.0.12 简单安装教程

    mysql 8.0.12 简单安装教程

    这篇文章主要为大家详细介绍了mysql 8.0.12 简单安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 通过代码实例了解页面置换算法原理

    通过代码实例了解页面置换算法原理

    这篇文章主要介绍了通过代码实例了解页面置换算法原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 一文详解MySQL不同隔离级别都使用什么锁

    一文详解MySQL不同隔离级别都使用什么锁

    这篇文章主要为大家详细介绍了在MySQL中不同隔离级别都会使用什么锁,文中的示例代码讲解详细,对我们学习MySQL有一定帮助,需要的可以参考一下
    2022-09-09
  • 一文带你了解MySQL之连接原理

    一文带你了解MySQL之连接原理

    搞数据库一个避不开的概念就是Join,翻译成中⽂就是连接,相信很多小伙伴初学连接的时候有些一脸懵,理解了连接的语义之后又可能不明白各个表中的记录到底是怎么连起来的,所以本章就来学习连接的原理,需要的朋友可以参考下
    2023-05-05
  • MySQL 5.7常见数据类型

    MySQL 5.7常见数据类型

    这篇文章主要介绍了MySQL 5.7数据类型详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • MySQL分区表和分桶表的操作详解

    MySQL分区表和分桶表的操作详解

    这篇文章主要介绍了MySQL分区表和分桶表的操作,分区表和分桶表都是数据库中的表,用于对数据进行分区或分桶存储,以提高数据库的性能和查询效率,需要详细了解可以参考下文
    2023-05-05

最新评论