算术函数
- ABS :取绝对值
- MOD:取余
- ROUND:四舍五入时指定小数点位数
1 | SELECT ABS(-1); # 结果为 1 |
字符串函数
- CONCAT: 将多个字符串连接起来
- LENGTH: 计算字段的长度,一个汉字算三个字符,字母和数字算一个字符
- CHAR_LENGTH:所有都算做一个字符
- LOWER:全部转为小写
- UPPER:全部转为大写
- REPLACE:替换字符
- SUBSTRING:截取字符串(字符串, 开始截取位置, 截取长度)
1
2
3
4
5
6
7SELECT CONCAT("%","pibigstar"); # 结果为 %pibigstar
SELECT LENGTH("你好"); # 结果为 6
SELECT CHAR_LENGTH("你好"); # 结果为 2
SELECT LOWER("AB"); # 结果为 ab
SELECT UPPER("ab") # 结果为 AB
SELECT REPLACE("abc","a", "f"); # 结果为 fbc
SELECT SUBSTRING("abc", 1, 2); # 结果为 ab
日期函数
- CURRENT_DATE:系统当前日期
- CURRENT_TIME:系统当前时间
- CURRENT_TIMESTAMP:系统当前时间(日期+时间)
- ECTRACT:抽取具体的年、月、日
- DATE:返回时间的日期部分
- YEAR:返回时间的年份部分
- MONTH:返回时间的月份部分
- DAY:返回时间的天数部分
- HOUR:返回时间的小时部分
- MINUTE:返回时间的分钟部分
- SECOND: 返回时间的秒部分
1
2
3
4
5
6SELECT CURRENT_DATE(); # 2019-06-29
SELECT CURRENT_TIME(); # 21:44:33
SELECT CURRENT_TIMESTAMP(); # 2019-06-29 21:44:33
SELECT EXTRACT(YEAR FROM '2019-06-29'); # 2019
SELECT DATE('2019-06-29 21:44:33'); # 2019-06-29
SELECT DAY('2019-06-29 21:44:33'); # 29
转换函数
- CAST:强制数据类型转换
- COALESCE:返回第一个非空数值
1
2SELECT CAST(65.243 AS DECIMAL(8,2)); # 65.24
SELECT COALESCE(null,null,2,3); # 2
聚合函数
- SUM:求和
- AVG:求平均值
- MAX:找出最大值
- MIN:找出最小值
- COUNT:计数
1
2
3
4
5
6
7SELECT SUM(age) FROM user;
SELECT AVG(age) FROM user;
SELECT MAX(age) FROM user;
SELECT MIN(age) FROM user;
SELECT COUNT(*) FROM user; # 计录全部行数,包括null
SELECT COUNT(age) FROM user; # 如果age为null,将过滤
SELECT COUNT(*) FROM user GROUP BY age;
在SELECT的查询中,关键字的顺序不能颠倒,它们的顺序为:
1 | SELECT...FROM...WHERE...GROUP BY...HAVING...ORDER BY...LIMIT... |