MySQL常见函数,你都用过哪些呢 ?
在 MySQL 中,常见的函数广泛应用于查询操作中,能够帮助我们处理字符串、日期、数学运算、数据类型转换等。以下是 30 个常见的 MySQL 函数及其使用示例:
1. CONCAT()
- 连接多个字符串
将多个字符串连接成一个字符串。
SELECT CONCAT('Hello', ' ', 'World') AS result;
-- 输出: Hello World
2. SUBSTRING()
- 提取子字符串
提取字符串的一部分。
SELECT SUBSTRING('Hello World', 1, 5) AS result;
-- 输出: Hello
3. LENGTH()
- 返回字符串的长度
返回字符串的字符数(字节数)。
SELECT LENGTH('Hello World') AS result;
-- 输出: 11
4. UPPER()
- 转换为大写
将字符串中的字母转换为大写字母。
SELECT UPPER('hello world') AS result;
-- 输出: HELLO WORLD
5. LOWER()
- 转换为小写
将字符串中的字母转换为小写字母。
SELECT LOWER('HELLO WORLD') AS result;
-- 输出: hello world
6. TRIM()
- 删除字符串两端的空格
去除字符串两端的空格。
SELECT TRIM(' hello ') AS result;
-- 输出: hello
7. REPLACE()
- 替换字符串中的部分内容
替换字符串中的某些字符或子字符串。
SELECT REPLACE('Hello World', 'World', 'MySQL') AS result;
-- 输出: Hello MySQL
8. INSTR()
- 查找子字符串的位置
返回子字符串在字符串中的首次出现位置。
SELECT INSTR('Hello World', 'World') AS result;
-- 输出: 7
9. CONCAT_WS()
- 连接字符串并指定分隔符
使用指定分隔符连接多个字符串。
SELECT CONCAT_WS('-', '2024', '11', '18') AS result;
-- 输出: 2024-11-18
10. NOW()
- 获取当前日期和时间
返回当前的日期和时间。
SELECT NOW() AS result;
-- 输出: 2024-11-18 14:30:00
11. CURDATE()
- 获取当前日期
返回当前日期,不包括时间。
SELECT CURDATE() AS result;
-- 输出: 2024-11-18
12. CURTIME()
- 获取当前时间
返回当前时间,不包括日期。
SELECT CURTIME() AS result;
-- 输出: 14:30:00
13. DATE_FORMAT()
- 格式化日期
将日期转换为指定格式。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS result;
-- 输出: 2024-11-18 14:30:00
14. DATE_ADD()
- 日期加上指定时间
将指定时间加到日期上。
SELECT DATE_ADD('2024-11-18', INTERVAL 1 DAY) AS result;
-- 输出: 2024-11-19
15. DATE_SUB()
- 日期减去指定时间
将指定时间从日期中减去。
SELECT DATE_SUB('2024-11-18', INTERVAL 1 DAY) AS result;
-- 输出: 2024-11-17
16. YEAR()
- 获取年份
从日期中提取年份。
SELECT YEAR('2024-11-18') AS result;
-- 输出: 2024
17. MONTH()
- 获取月份
从日期中提取月份。
SELECT MONTH('2024-11-18') AS result;
-- 输出: 11
18. DAY()
- 获取日期中的天
从日期中提取天。
SELECT DAY('2024-11-18') AS result;
-- 输出: 18
19. NOW() - INTERVAL
- 获取过去的日期
返回过去某个时间点的日期。
SELECT NOW() - INTERVAL 10 DAY AS result;
-- 输出: 2024-11-08
20. ABS()
- 获取绝对值
返回数字的绝对值。
SELECT ABS(-123) AS result;
-- 输出: 123
21. ROUND()
- 四舍五入
将数字四舍五入到指定的小数位。
SELECT ROUND(123.4567, 2) AS result;
-- 输出: 123.46
22. CEIL()
- 向上取整
将数字向上取整到最接近的整数。
SELECT CEIL(123.45) AS result;
-- 输出: 124
23. FLOOR()
- 向下取整
将数字向下取整到最接近的整数。
SELECT FLOOR(123.45) AS result;
-- 输出: 123
24. RAND()
- 生成随机数
生成一个 0 到 1 之间的随机数。
SELECT RAND() AS result;
-- 输出: 0.123456789
25. COUNT()
- 统计行数
返回满足条件的行数。
SELECT COUNT(*) FROM employees WHERE age > 30;
-- 输出: 150
26. SUM()
- 求和
返回列中所有值的总和。
SELECT SUM(salary) FROM employees WHERE department = 'HR';
-- 输出: 150000
27. AVG()
- 计算平均值
返回列的平均值。
SELECT AVG(salary) FROM employees WHERE department = 'IT'; -- 输出: 5500
28. MAX()
- 获取最大值
返回列中的最大值。
SELECT MAX(salary) FROM employees;
-- 输出: 20000
29. MIN()
- 获取最小值
返回列中的最小值
SELECT MIN(salary) FROM employees;
-- 输出: 3000
30. IFNULL()
- 处理 NULL 值
如果字段值为 NULL,则返回指定的默认值。
SELECT IFNULL(salary, 0) FROM employees;
-- 如果 salary 为 NULL,返回 0
最后总结一下
这些函数在 SQL 查询中非常常用,能够帮助我们处理字符串、日期、数字和数据的聚合操作。
掌握这些基本的 MySQL 函数,能使得你在数据处理、报告生成和性能优化等方面更加高效。
发表评论