MySQL 是一种强大的关系型数据库管理系统,提供了丰富的内置函数来简化数据处理和查询操作。本文将介绍一些 MySQL 中常用的函数。
字符串函数
CONCAT()
用于连接多个字符串。
SELECT CONCAT('Hello', ' ', 'World'); -- 输出: Hello World
SUBSTRING()
从字符串中提取子字符串。
SELECT SUBSTRING('Hello World', 1, 5); -- 输出: Hello
REPLACE()
替换字符串中的指定子串。
SELECT REPLACE('Hello World', 'World', 'MySQL'); -- 输出: Hello MySQL
LENGTH()
返回字符串的长度。
SELECT LENGTH('Hello World'); -- 输出: 11
数值函数
ROUND()
对数字进行四舍五入。
SELECT ROUND(123.456, 2); -- 输出: 123.46
FLOOR()
向下取整。
SELECT FLOOR(123.456); -- 输出: 123
CEIL()
向上取整。
SELECT CEIL(123.456); -- 输出: 124
ABS()
取绝对值。
SELECT ABS(-123.456); -- 输出: 123.456
日期和时间函数
NOW()
返回当前日期和时间。
SELECT NOW(); -- 输出: 当前的日期和时间
CURDATE()
返回当前日期。
SELECT CURDATE(); -- 输出: 当前的日期
DATE_ADD()
向日期添加时间间隔。
SELECT DATE_ADD('2024-01-01', INTERVAL 1 MONTH); -- 输出: 2024-02-01
DATEDIFF()
计算两个日期之间的天数差异。
SELECT DATEDIFF('2024-02-01', '2024-01-01'); -- 输出: 31
聚合函数
COUNT()
计算行数。
SELECT COUNT(*) FROM employees;
SUM()
计算数值列的总和。
SELECT SUM(salary) FROM employees;
AVG()
计算数值列的平均值。
SELECT AVG(salary) FROM employees;
MAX()
和 MIN()
分别计算列的最大值和最小值。
SELECT MAX(salary), MIN(salary) FROM employees;
条件函数
IF()
根据条件返回不同的值。
SELECT IF(salary > 5000, 'High', 'Low') AS salary_level FROM employees;
CASE
执行条件判断并返回结果。
SELECT CASE WHEN salary > 5000 THEN 'High' WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium' ELSE 'Low' END AS salary_level FROM employees;