SQL 函数
SQL 拥有很多可用于计数和计算的内建函数。比如:
AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
函数的组成
函数的目标是返回一个值。大多数函数都返回一个标量值(scalar value),标量值代表一个数据单元或一个简单值。实际上,函数可以返回任何数据类型,包括表、游标等可返回完整的多行结果集的类型。也可以自定义函数,以返回更复杂的数据。函数己经存在很长时间了,它的历史比SQL还要长。在几乎所有的编程语言中,函数调用的方式都是相同的。
SQL聚合函数
MySQL提供了许多聚合函数,包括AVG,COUNT,SUM,MIN,MAX等。除COUNT函数外,其它聚合函数在执行计算时会忽略NULL值。
AVG()函数
AVG()函数计算一组值的平均值。它计算过程中是忽略NULL值的
COUNT() 函数
COUNT() 函数返回匹配指定条件的行数
SUM() 函数
SUM()函数返回一组值的总和,SUM()函数忽略NULL值。如果找不到匹配行,则SUM()函数返回NULL值
MAX() 函数
MAX()函数返回一组值中的最大值
MIN() 函数
MIN()函数返回一组值中的最小值
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用
HAVING 子句可以让我们筛选分组后的各组数
语法:
SELECT column_name, 聚合函数(column_name) FROM table_name
WHERE column_name operator value
GROUP BY column_name HAVING 聚合函数(column_name) operator value;
时间函数
CURDATE() 和 CURRENT_DATE():返回当前日期。
SELECT CURDATE();
SELECT CURRENT_DATE();
CURRENT_TIME() 和 CURTIME():返回当前时间。
SELECT CURRENT_TIME();
SELECT CURRENT_TIME();
CURRENT_TIMESTAMP() 和 NOW():返回当前日期和时间。
SELECT CURRENT_TIMESTAMP();
SELECT NOW();
DATE_FORMAT(d,f):按表达式 f的要求显示日期 d。
SELECT DATE_FORMAT('2019-09-23 14:21:12','%Y-%m-%d');
LENGTH,CHAR_LENGTH和CHARACTER_LENGTH函数
LENGTH()函数:获取以字节为单位的字符串长度
LENGTH(str);
CHAR_LENGTH()和CHARACTER_LENGTH()函数:获取字符串的长度,以字符为单位计算长度
CHAR_LENGTH(str);
CHARACTER_LENGTH(str);
CONCAT函数
CONCAT()函数:字符串 s1,s2 等多个字符串合并为一个字符串。合并多个字符串
CONCAT(s1,s2...sn) FROM 表名;
IFNULL(v1,v2) 函数
IFNULL(v1,v2):函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
IFNULL(expression, alt_value)