MySQL 提供了众多功能强大、方便易用的函数。使用这些函数,可以极大的提高用户对数据库的管理效率。MySQL 中的函数包括:
数学函数
、字符串函数
、日期和时间函数
、条件判断函数
、系统信息函数
、加密函数
等其他函数。下面介绍 MySQL 中的这些函数的功能和用法。
1. MySQL 函数简介
函数表示对输入参数值返回一个具体特定关系的值,MySQL 提供了大量丰富的函数,在进行数据库的管理以及数据的查询操作时将会经常用到各种函数。通过对数据的处理,数据库功能变得更加强大,更加灵活的满足不同用户的需求。各类函数从功能方面主要分为以下几类:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数等其他函数。
1.1 数学函数
数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数、三角函数(包括正弦函数、余弦函数,正切函数、余切函数等)、对数函数、随机数函数等。再有错误产生时,数学函数会返回空值 NULL。下面介绍各种数学函数的功能和用法。
ABS(x)返回 X 的绝对值
求 2,-2.3,-34 的绝对值,SQL 语句:
SELECT ABS(2),ABS(-2.2),ABS(-34);
求圆周率的值:(结果保留了 7 位有效数字)
SELECT PI();
1.2 平方根函数 SQRT(x)和求余函数 MOD(x,y)
SQRT(x)返回非负数 x 的二次方根
求 9,40,-49 的二次方根,SQL 如下:
SELECT SQRT(9),SQRT(40),SQRT(-49);
MOD(x,y)返回 x 被 y 除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法运算后的精确余数。
对 MOD(31,8),MOD(234,10),MOD(45.5,6)进行求余预算,SQL 如下:
SELECT MOD(31,8),MOD(234,10),MOD(45.5,6);
1.3 获取整数的函数 CEIL(x),CEILING(x)和 FLOOR(x)
CEIL(x)和 CEILING(x)返回不小于 x 的最小整数值,返回值转化为一个 BIGINT。
使用 CEILING 函数返回最小整数值,SQL 如下:
SELECT CEIL(-3.35),CEILING(3.35);
FLOOR(x)返回不大于 x 的最大正整数,转化为一个 BIGINT。
使用 FLOOR(x)返回不大于 x 的最大整数,SQL 如下:
SELECT FLOOR(-3.35),FLOOR(3.35);
1.4 获取随机数的函数 RAND()和 RAND(x)
RAND(x)返回一个随机浮点值 v,范围在 0 - 1 之间(即 0 <=v<=1.0), 若已经指定一个整数参数 x,则它被用作种子值,用来产生重复序列。
使用 RAND()函数产生随机数,SQL 如下:
SELECT RAND(),RAND(),RAND();
可以看到,不带参数的 RAND()每次产生的随机数是不同的。
使用 RAND(x)函数产生随机数,SQL 如下:
SELECT RAND(10),RAND(10),RAND(11),RAND(11);
可以看到,当 RAND(x)的参数相同时,将产生相同的随机数,不同的 x 产生的随机数不同。
1.5 四舍五入函数 ROUND(x)、ROUND(x,y)、TRUNCATE(x,y)
ROUND(x)返回最接近于参数 x 的整数,对 x 值进行四舍五入。