1.数学函数
-- ABS(x) 返回x的绝对值
SELECT ABS(-1); -- 返回1
-- ROUND(x)返回离 x 最近的整数
SELECT ROUND(1.23456); -- 返回1
-- CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数
SELECT CEIL(1.5); -- 返回2
SELECT CEILING(1.5); -- 返回2
-- FLOOR(x) 返回小于或等于 x 的最大整数
SELECT FLOOR(1.5); -- 返回1
-- POW(x,y)/POWER(x,y)返回 x 的 y 次方
SELECT POW(2,3); -- 返回8
SELECT POWER(2,3); -- 返回8
-- RAND()返回 0 到 1 的随机数
SELECT RAND();
-- SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1
SELECT SIGN(-10); -- 返回-1
-- SQRT(x)返回x的平方根
SELECT SQRT(25); -- 返回5
-- TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值,不会进行四舍五入
SELECT TRUNCATE(1.23456,3); -- 返回1.234
-- AVG(expression) 返回一个表达式的平均值,expression 是一个字段
SELECT AVG(age) FROM student;
-- MAX(expression)返回字段 expression 中的最大值
SELECT MAX(age) AS maxAge FROM Student;
-- MIN(expression)返回字段 expression 中的最大值
SELECT MIN(age) AS minAge FROM Student;
-- SUM(expression)返回指定字段的总和
SUM(expression)返回指定字段的总和
2.字符串函数
-- LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s)返回字符串 s 的字符数
SELECT LENGTH('1234'); -- 返回4
-- CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串
SELECT CONCAT('hel','llo'); -- 返回hello
-- LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置
SELECT LOCATE('st','myteststring'); -- 返回5
-- LCASE(s)/LOWER(s)将字符串 s 的所有字母变成小写字母
SELECT LOWER('RUNOOB'); -- 返回runoob
-- UCASE(s)/UPPER(s)将字符串 s 的所有字母变成大写字母
SELECT UCASE('runoob'); -- 返回RUNOOB
-- TRIM(s)去掉字符串 s 开始和结尾处的空格
SELECT TRIM(' RUNOOB ');-- 返回RUNOOB
-- SUBSTR/SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
SELECT SUBSTR/SUBSTRING("RUNOOB", 2, 3);-- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
-- REVERSE(s)将字符串s的顺序反过来
SELECT REVERSE('abc');-- 返回cba
-- REPLACE()替换出现的指定字符串
SELECT REPLACE('狂神说坚持就能成功','坚持','努力'); -- 替换出现的指定字符串
SELECT REPIACE(studentname,'周','邹') FROM student WHERE studentname LIKE '%周';
3.时间日期函数
-- CURDATE()/CURRENT_DATE()返回当前日期
SELECT CURDATE();-- 返回2019-02-19
SELECT CURRENT_DATE(); -- 返回2019-02-19
-- CURRENT_TIME()/CURTIME()返回当前时间
SELECT CURRENT_TIME(); -- 返回11:40:45
-- NOW()返回当前日期和时间
SELECT NOW();-- 返回2019-02-19 11:41:32
SELECT LOCALTIME(); -- 本地时间
SELECT SYSDATE(); -- 系统时间
-- 提取年月日时分秒
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT DAY(NOW());
SELECT HOUR(NOW());
SELECT MINUTE(NOW());
SELECT SECOND(NOW());
4.系统函数
-- CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER()返回当前用户
SELECT USER();
-- DATABASE()返回当前数据库名
SELECT DATABASE();
-- VERSION()返回数据库的版本号
SELECT VERSION();
参考资料
- MySQL 5.7 参考手册
- 12.6 数值函数和运算符
- 12.8 字符串函数和运算符
- 12.7 日期和时间函数
- MySQL常用函数大全(总结篇)
评论 (0)