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
