MySQL函数,是一种控制流程函数,属于数据库用语言。

MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。

数学函数-函数概述

MySQL函数是MySQL数据库提供的内部函数。这些内部函数可以帮助用户更加方便的处理表中的数据。

数学函数是MySQL中常用的一类函数。主要用于处理数字,包括整型、浮点数等。

常用数学函数-abs

abs(X):返回X的绝对值

1
2
3
4
5
6
7
mysql> select abs(-32);
+----------+
| abs(-32) |
+----------+
| 32 |
+----------+
1 行于数据集 (0.03 秒)

常用数学函数-amodbs

MOD(N,M)或%:返回N被M除的余数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select mod(15,7);
+-----------+
| mod(15,7) |
+-----------+
| 1 |
+-----------+
1 行于数据集 (0.02 秒)

mysql> select 15%7;
+------+
| 15%7 |
+------+
| 1 |
+------+
1 行于数据集 (0.02 秒)

常用数学函数-ceiling

CEILING(X):返回不小于X的最小整数值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select ceiling(1.23);
+---------------+
| ceiling(1.23) |
+---------------+
| 2 |
+---------------+
1 行于数据集 (0.02 秒)

mysql> select ceiling(-1.23);
+----------------+
| ceiling(-1.23) |
+----------------+
| -1 |
+----------------+
1 行于数据集 (0.02 秒)

常用数学函数-pi

PI():返回圆周率π,默认显示6位小数

1
2
3
4
5
6
7
mysql> select pi();
+----------+
| pi() |
+----------+
| 3.141593 |
+----------+
1 行于数据集 (0.03 秒)

常用数学函数-sqrt

SQRT(x):返回非负数的x的二次方根

1
2
3
4
5
6
7
mysql> select sqrt(16);
+----------+
| sqrt(16) |
+----------+
| 4 |
+----------+
1 行于数据集 (0.03 秒)

常用数学函数-ceil

CEIL(x):返回不小于x的最小整数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select ceil(1.3);
+-----------+
| ceil(1.3) |
+-----------+
| 2 |
+-----------+
1 行于数据集 (0.01 秒)

mysql> select ceil(-1.3);
+---------------+
| ceiling(-1.3) |
+---------------+
| -1 |
+---------------+
1 行于数据集 (0.01 秒)

常用数学函数-floor

FLOOR(x):返回不大于x的最大整数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select floor(1.3);
+------------+
| floor(1.3) |
+------------+
| 1 |
+------------+
1 行于数据集 (0.01 秒)

mysql> select floor(-1.3);
+-------------+
| floor(-1.3) |
+-------------+
| -2 |
+-------------+
1 行于数据集 (0.01 秒)

常用数学函数-round

ROUND(x)、ROUND(x,y)

前者返回最接近于x的整数,即对x进行四舍五入;后者返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select round(1.3555);
+---------------+
| round(1.3555) |
+---------------+
| 1 |
+---------------+
1 行于数据集 (0.01 秒)

mysql> select round(1.3555,2);
+-----------------+
| round(1.3555,2) |
+-----------------+
| 1.36 |
+-----------------+
1 行于数据集 (0.02 秒)

常用数学函数-sign

SIGN(x):返回参数x的符号,-1表示负数,0表示0,1表示正数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mysql> select sign(5);
+---------+
| sign(5) |
+---------+
| 1 |
+---------+
1 行于数据集 (0.02 秒)

mysql> select sign(-5);
+----------+
| sign(-5) |
+----------+
| -1 |
+----------+
1 行于数据集 (0.02 秒)

mysql> select sign(0);
+---------+
| sign(0) |
+---------+
| 0 |
+---------+
1 行于数据集 (0.02 秒)

常用数学函数-pow

POW(x,y)和、POWER(x,y):返回x的y次乘方的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select pow(2,4);
+----------+
| pow(2,4) |
+----------+
| 16 |
+----------+
1 行于数据集 (0.01 秒)

mysql> select power(3,3);
+------------+
| power(3,3) |
+------------+
| 27 |
+------------+
1 行于数据集 (0.02 秒)

常用数学函数-rand

RAND():随机函数,返回0-1内的随机数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select rand();
+---------------------+
| rand() |
+---------------------+
| 0.30107216378773766 |
+---------------------+
1 行于数据集 (0.03 秒)

mysql> select rand();
+---------------------+
| rand() |
+---------------------+
| 0.37762552907469266 |
+---------------------+
1 行于数据集 (0.01 秒)

常用数学函数-truncate

TRUNCATE(x,Y):数值截取,返回数值x截取y位小数的结果(不四舍五入)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select truncate(3.1415926,2);
+-----------------------+
| truncate(3.1415926,2) |
+-----------------------+
| 3.14 |
+-----------------------+
1 行于数据集 (0.01 秒)

mysql> select truncate(3.1415926,4);
+-----------------------+
| truncate(3.1415926,4) |
+-----------------------+
| 3.1415 |
+-----------------------+
1 行于数据集 (0.01 秒)