MySQL 函数详细说明以及案例
MySQL 提供了多种内置函数,用于处理数据、执行计算和转换数据类型等操作。以下是一些常见的 MySQL 函数及其详细说明和案例:
1. 字符串函数
CONCAT(str1, str2, ...): 连接两个或多个字符串。
SELECT CONCAT('Hello', ' ', 'World'); -- 输出: Hello World
SUBSTRING(str, start, length): 从字符串中提取子字符串。
SELECT SUBSTRING('Hello World', 7, 5); -- 输出: World
LENGTH(str): 返回字符串的长度。
SELECT LENGTH('Hello'); -- 输出: 5
UPPER(str): 将字符串转换为大写。
SELECT UPPER('hello'); -- 输出: HELLO
LOWER(str): 将字符串转换为小写。
SELECT LOWER('HELLO'); -- 输出: hello
2. 数值函数
ABS(x): 返回数值的绝对值。
SELECT ABS(-10); -- 输出: 10
ROUND(x, d): 对数值进行四舍五入,d 为小数位数。
SELECT ROUND(3.14159, 2); -- 输出: 3.14
CEIL(x): 返回大于或等于 x 的最小整数。
SELECT CEIL(3.14); -- 输出: 4
FLOOR(x): 返回小于或等于 x 的最大整数。
SELECT FLOOR(3.14); -- 输出: 3
3. 日期和时间函数
NOW(): 返回当前日期和时间。
SELECT NOW(); -- 输出: 2023-10-05 12:34:56
CURDATE(): 返回当前日期。
SELECT CURDATE(); -- 输出: 2023-10-05
CURTIME(): 返回当前时间。
SELECT CURTIME(); -- 输出: 12:34:56
DATE_FORMAT(date, format): 格式化日期。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 输出: 2023-10-05
4. 聚合函数
COUNT(expr): 返回匹配条件的行数。
SELECT COUNT(*) FROM users; -- 输出: 用户表中的总行数
SUM(expr): 返回数值列的总和。
SELECT SUM(salary) FROM employees; -- 输出: 员工表中工资的总和
AVG(expr): 返回数值列的平均值。
SELECT AVG(salary) FROM employees; -- 输出: 员工表中工资的平均值
MAX(expr): 返回数值列的最大值。
SELECT MAX(salary) FROM employees; -- 输出: 员工表中工资的最大值
MIN(expr): 返回数值列的最小值。
SELECT MIN(salary) FROM employees; -- 输出: 员工表中工资的最小值
5. 条件函数
IF(expr, true_value, false_value): 如果 expr 为真,返回 true_value,否则返回 false_value。
SELECT IF(1 > 0, 'True', 'False'); -- 输出: True
CASE: 多条件判断。
SELECT CASE WHEN salary > 5000 THEN 'High' WHEN salary > 3000 THEN 'Medium' ELSE 'Low' END AS salary_level FROM employees;
6. 其他函数
COALESCE(expr1, expr2, ...): 返回第一个非 NULL 的表达式。
SELECT COALESCE(NULL, 'Hello', 'World'); -- 输出: Hello
NULLIF(expr1, expr2): 如果 expr1 等于 expr2,返回 NULL,否则返回 expr1。
SELECT NULLIF(10, 10); -- 输出: NULL SELECT NULLIF(10, 20); -- 输出: 10
这些函数可以帮助你在
本篇文章内容来源于:MySQL 函数详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。