前言
MySQL函数是MySQL数据库提供的内置函数,这些内置函数可以更方便处理表中的数据。下面简单介绍一下MySQL中包含的几类常用函数。
聚合函数
聚合函数可实现根据一组数据求出一个值,聚合函数的结果值只根据选定数据行中非NULL值进行计算,NULL值被忽略。
COUNT()函数
COUNT()函数,对于除“*”以外的任何参数,返回所选择集合中非NULL值的行的数目;对于参数“*”,则返回所选择集合中所有行的数目,包含NULL值的行。没有WHERE子句的COUNT(*)是经过内部优化的,能够快速地返回表中所有的记录总数。
SUM()函数
SUM()函数可以求出表中某个字段取值的总和。
AVG函数
AVG()函数可以求出表中某个字段取值的平均值。
MAX()函数
MAX()函数可以求出表中某个字段值的最大值。
MIN()函数
MIN()函数可以求出表中某个字段值的最小值。
大家都是从学生时代过来的,下面使用学生信息表和成绩表来演示上面的SQL函数。
#统计学生表记录 SELECT COUNT(*) FROM tb_student; #求学生分数总和 SELECT SUM(score) FROM tb_score; #求学生的平均分 SELECT AVG(score) FROM tb_score; #求成绩的最高分 SELECT MAX(score) FROM tb_score; #求成绩的最低分 SELECT MIN(score) FROM tb_score;
数学函数
数学函数主要用于处理数字,包括整型和浮点数。下面介绍一下常用的几个数学函数。
ABS()函数
ABS()可以求出某字段值的绝对值。
FLOOR()函数
FLOOR()函数用于返回小于或等于参数x的最大整数。
RAND()函数
RAND()函数用于返回0~1之间的随机数。
TRUNCATE(x, y)函数
TRUNCATE(x, y)函数返回x保留到小数点后y位的值。
SQRT(x)函数
SQRT(x)函数用于求参数x的平方根。
下面看一下示例语句:
#求绝对值 SELECT ABS(5), ABS(-5); #向下取整 SELECT FLOOR(1.5), FLOOR(-2); #求随机数 SELECT RAND(), RAND(); #求小数点后几位 SELECT TRUNCATE(3.141592653, 3); #求16,25的平方根 SELECT SQRT(16), SQRT(25);
字符串函数
字符串函数主要用来处理数据表中的字符串。下面介绍一下常用的几个字符串函数。
UPPER(s)和UCASE(s)函数
UPPER(s)和UCASE(s)函数均可用于将字符串s中的所有哦字母变成大写字母。
LEFT(s, n)函数
LEFT(s, n)函数返回字符串s的前n个字符。
SUBSTRING(s, n, len)函数
SUBSTRING(s, n, len)函数用于将字符串s的第n个位置开始获取长度len的字符串。
下面看一下示例语句:
#转换大写 SELECT UPPER(‘hello’), UCASE(‘hello’); #返回字符串的前n个字符 SELECT LEFT(‘hello’, 2); #截取字符串 SELECT SUBSTRING(‘hello’, 2, 4);
日期和时间函数
日期和时间函数是MySQL中最常用的函数之一,主要用于对表中的日期和时间数据进行处理。下面介绍一下几个常用的日期和时间函数。
CURDATE()和CURRENT_DATE()函数
CURDATE()和CURRENT_DATE()函数获取当前日期。
CURTIME()和CURRENT_TIME()函数
CURTIME()和CURRENT_TIME()函数获取当前时间。
NOW()函数
NOW()函数可以获取当前日期和时间,有同样功能的还有CURRENT_TIMESTAMP()、LOCALTIME()、SYSDATE()和LOCALTIMESTAMP()。
下面看一下示例语句:
#获取当前日期 SELECT CURDATE(), CURRENT_DATE(); #获取当前时间 SELECT CURTIME(), CURRENT_TIME(); #获取当前日期和时间 SELECT NOW(), CURRENT_TIMESTAMP(), LOCALTIME(), SYSDATE(), LOCALTIMESTAMP();
其他函数
MySQL中除了上述介绍的几类内置函数之外,还有很多其他函数,比如条件判断函数,系统信息函数。下面列举几个常用的函数。
IF(expr, v1, v2)函数
IF(expr, v1, v2)函数是一种条件判断函数,表示的如果表达式expr成立,则执行v1,否则执行v2。
IFNULL(v1, v2)函数
IFNULL(expr, v1, v2)函数也是一种条件判断函数,表示的如果表达式v1不为空,则显示v1的值,否则显示v2的值。
VERSION()函数
VERSION()函数是一种系统信息函数,获取数据库的版本号。
下面看一下示(注意引号是英文状态下):
#查询分数的优秀情况 SELECT studentNo, courseNo, score, IF(score>85, ‘优秀’, ‘一般’) level FROM tb_score; #判断是否为空 SELECT IFNULL(1/0, '空'); #查看数据库版本号 SELECT VERSION();
小结
希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,希望你留言和我进行交流、讨论。
欢迎关注微信公众号,访问更多精彩:数据之魅。
如需转载,请联系授权,谢谢合作。