MySQL 提供了丰富的内置函数,用于处理数据、日期、字符串等操作。以下是一些常用函数的分类和示例:
用于处理文本数据:
-
CONCAT(str1, str2, ...)
:拼接字符串
SELECT CONCAT('Hello', ' ', 'World');
-
LENGTH(str)
:返回字符串长度(字节数)
-
CHAR_LENGTH(str)
:返回字符串长度(字符数)
SELECT CHAR_LENGTH('中国');
-
UPPER(str)
/ LOWER(str)
:转换为大写 / 小写
-
SUBSTRING(str, pos, len)
:截取子串(pos 为起始位置,len 为长度)
SELECT SUBSTRING('abcdef', 2, 3);
-
TRIM(str)
:去除首尾空格
用于数学计算:
-
ABS(x)
:返回绝对值
-
ROUND(x, d)
:四舍五入(d 为小数位数,默认 0)
-
FLOOR(x)
/ CEIL(x)
:向下取整 / 向上取整
SELECT FLOOR(3.9);
SELECT CEIL(3.1);
-
SUM(col)
/ AVG(col)
:求和 / 求平均值(聚合函数)
SELECT SUM(score) FROM students;
SELECT AVG(score) FROM students;
-
MOD(x, y)
:取余数(x 除以 y 的余数)
处理日期时间类型:
-
NOW()
:返回当前日期和时间(YYYY-MM-DD HH:MM:SS
)
-
CURDATE()
/ CURTIME()
:返回当前日期 / 时间
SELECT CURDATE();
SELECT CURTIME();
-
DATE_FORMAT(date, format)
:格式化日期
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s');
-
DATEDIFF(date1, date2)
:计算两个日期的差值(天数)
SELECT DATEDIFF('2023-10-05', '2023-10-01');
-
DATE_ADD(date, INTERVAL expr unit)
:日期加减
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);
SELECT DATE_ADD(NOW(), INTERVAL -1 HOUR);
用于统计数据(通常与 GROUP BY
一起使用):
根据条件返回不同结果:
这些函数可以组合使用,满足复杂的数据处理需求。实际使用时,可根据具体场景选择合适的函数。