MySQL内置函数
目录
1. 字符串函数
2. 数学函数
3. 日期和时间函数
4. 聚合函数
5. 条件函数
6. 其他常用函数
MySQL 提供了许多内置函数,用于执行各种操作,如字符串处理、数学运算、日期和时间操作等。
1. 字符串函数
-
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
-
TRIM()
:去除字符串两端的空格。SELECT TRIM(' Hello World '); -- 输出: 'Hello World'
2. 数学函数
-
ROUND()
:对数字进行四舍五入。SELECT ROUND(123.4567, 2); -- 输出: 123.46
-
FLOOR()
:返回小于或等于数字的最大整数。SELECT FLOOR(123.4567); -- 输出: 123
-
CEIL()
:返回大于或等于数字的最小整数。SELECT CEIL(123.4567); -- 输出: 124
-
RAND()
:生成一个0到1之间的随机浮点数。SELECT RAND(); -- 输出: (例如) 0.123456789
3. 日期和时间函数
-
NOW()
:返回当前的日期和时间。SELECT NOW(); -- 输出: (例如) '2024-08-22 12:34:56'
-
CURDATE()
:返回当前日期。SELECT CURDATE(); -- 输出: (例如) '2024-08-22'
-
DATE_ADD()
:向日期添加指定的时间间隔。SELECT DATE_ADD('2024-08-22', INTERVAL 10 DAY); -- 输出: '2024-09-01'
-
DATEDIFF()
:计算两个日期之间的天数差。SELECT DATEDIFF('2024-08-22', '2024-08-15'); -- 输出: 7
4. 聚合函数
-
COUNT()
:返回结果集中的行数。SELECT COUNT(*) FROM employees; -- 输出: (例如) 100
-
SUM()
:计算某列的总和。SELECT SUM(salary) FROM employees; -- 输出: (例如) 500000
-
AVG()
:计算某列的平均值。SELECT AVG(salary) FROM employees; -- 输出: (例如) 5000
-
MAX()
:返回某列的最大值。SELECT MAX(salary) FROM employees; -- 输出: (例如) 10000
-
MIN()
:返回某列的最小值。SELECT MIN(salary) FROM employees; -- 输出: (例如) 2000
5. 条件函数
-
IF()
:根据条件返回不同的值。SELECT IF(salary > 5000, 'High', 'Low') FROM employees; -- 输出: 'High' 或 'Low'
-
CASE
:类似于IF
,用于更复杂的条件判断。SELECT CASEWHEN salary > 5000 THEN 'High'WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium'ELSE 'Low'END AS salary_level FROM employees;
6. 其他常用函数
-
COALESCE()
:返回参数列表中的第一个非 NULL 值。SELECT COALESCE(NULL, NULL, 'First Non-NULL'); -- 输出: 'First Non-NULL'
-
NULLIF()
:如果两个参数相等,则返回 NULL;否则返回第一个参数。SELECT NULLIF(5, 5); -- 输出: NULL