MySQL 8.0提供了丰富的内置函数,这些函数可以大致分为几个类别:字符串函数、数值函数、日期和时间函数、比较函数、逻辑函数、控制流函数等。以下是20个常用的MySQL函数及其简单的使用示例:
1. **CONCAT()**: 字符串连接函数。
- 示例:`SELECT CONCAT('Hello', ', ', 'World!');` 结果为 `'Hello, World!'`。
2. **LENGTH()**: 返回字符串的长度。
- 示例:`SELECT LENGTH('Hello World');` 结果为 `11`。
3. **LOWER()**: 将字符串转换为小写。
- 示例:`SELECT LOWER('Hello World');` 结果为 `'hello world'`。
4. **UPPER()**: 将字符串转换为大写。
- 示例:`SELECT UPPER('Hello World');` 结果为 `'HELLO WORLD'`。
5. **SUBSTRING()**: 从字符串中提取子串。
- 示例:`SELECT SUBSTRING('Hello World', 1, 5);` 结果为 `'Hello'`。
6. **NOW()**: 返回当前的日期和时间。
- 示例:`SELECT NOW();` 结果类似于 `'2023-04-01 12:45:34'`。
7. **CURDATE()**: 返回当前日期。
- 示例:`SELECT CURDATE();` 结果类似于 `'2023-04-01'`。
8. **CURTIME()**: 返回当前时间。
- 示例:`SELECT CURTIME();` 结果类似于 `'12:45:34'`。
9. **DATEDIFF()**: 返回两个日期之间的天数差。
- 示例:`SELECT DATEDIFF('2023-04-05', '2023-04-01');` 结果为 `4`。
10. **YEAR()**: 从日期中提取年份。
- 示例:`SELECT YEAR('2023-04-01');` 结果为 `2023`。
11. **MONTH()**: 从日期中提取月份。
- 示例:`SELECT MONTH('2023-04-01');` 结果为 `4`。
12. **DAY()**: 从日期中提取天。
- 示例:`SELECT DAY('2023-04-01');` 结果为 `1`。
13. **ROUND()**: 数值四舍五入到指定的小数位数。
- 示例:`SELECT ROUND(123.4567, 2);` 结果为 `123.46`。
14. **FLOOR()**: 返回小于等于数值的最大整数。
- 示例:`SELECT FLOOR(123.4567);` 结果为 `123`。
15. **CEILING()**: 返回大于等于数值的最小整数。
- 示例:`SELECT CEILING(123.4567);` 结果为 `124`。
16. **RAND()**: 生成一个随机数。
- 示例:`SELECT RAND();` 结果是一个0到1之间的随机数。
17. **COUNT()**: 返回行数。
- 示例:`SELECT COUNT(*) FROM users;` 返回`users`表中的行数。
18. **SUM()**: 返回数值总和。
- 示例:`SELECT SUM(salary) FROM employees;` 返回`employees`表中`salary`列的总和。
19. **AVG()**: 返回平均值。
- 示例:`SELECT AVG(salary) FROM employees;` 返回`employees`表中`salary`列的平均值。
20. **MAX()**/**MIN()**: 返回列中的最大值/最小值。
- 示例:`SELECT MAX(salary) FROM employees;` 返回`employees`表中`salary`列的最大值。
以下是MySQL8.0中20个常用的比较函数、逻辑函数和控制流函数:
比较函数:
21. **COALESCE()**: 返回参数中的第一个非NULL值。
- 示例:`SELECT COALESCE(NULL,1,'Hello World');` 结果为 `1`。
22. **GREATEST()**: 返回参数中的最大值。
- 示例:`SELECT GREATEST(1,2,3);` 结果为 `3`。
23. **LEAST()**: 返回参数中的最小值。
- 示例:`SELECT LEAST(1,2,3);` 结果为 `1`。
24. **ISNULL()**: 如果表达式为NULL值,则返回1,否则返回0。
- 示例:`SELECT ISNULL(NULL);` 结果为 `1`。
25. **NULLIF()**: 如果两个参数相等则返回NULL,否则返回第一个参数。
- 示例:`SELECT NULLIF(1,2);` 结果为 `1`。
逻辑函数:
26. **AND**: 如果所有操作数都为真,则结果为真。
- 示例:`SELECT 1 AND 0;` 结果为 `0`。
27. **OR**: 如果任何操作数为真,则结果为真。
- 示例:`SELECT 1 OR 0;` 结果为 `1`。
28. **NOT**: 如果操作数为真,则结果为假,反之亦然。
- 示例:`SELECT NOT 1;` 结果为 `0`。
29. **IF( )**: 如果表达式为真,返回一个真值,否则返回一个假值。
- 示例:`SELECT IF(1>0, 'Yes', 'No');` 结果为 `'Yes'`。
30. **CASE**: 根据条件表达式的结果返回一个值。
- 示例:`SELECT CASE WHEN 1>0 THEN 'Yes' ELSE 'No' END;` 结果为 `'Yes'`。
控制流函数:
31. **IFNULL()**: 如果第一个表达式为NULL,返回第二个表达式。
- 示例:`SELECT IFNULL(1,NULL);` 结果为 `1`。
32. **NULLIF()**: 如果两个表达式相等返回NULL,否则返回第一个表达式。
- 示例:`SELECT NULLIF(1,2);` 结果为 `1`。
33. **CASE**: 根据条件表达式的结果返回一个值。
- 示例:`SELECT CASE WHEN 1>0 THEN 'Yes' ELSE 'No' END;` 结果为 `'Yes'`.
34. **IF()**: 如果表达式为真,返回一个真值,否则返回一个假值。
- 示例:`SELECT IF(1>0, 'Yes', 'No');` 结果为 `'Yes'`.
其他函数:
35. **ABS()**: 返回数的绝对值。
- 示例:`SELECT ABS(-1);` 结果为 `1`。
36. **MOD()**: 返回两数相除的余数。
- 示例:`SELECT MOD(10, 3);` 结果为 `1`。
37. **POW()**: 返回数的乘幂。
- 示例:`SELECT POW(2, 3);` 结果为 `8`。
38. **SQRT()**: 返回数的平方根。
- 示例:`SELECT SQRT(4);` 结果为 `2`.
39. **LOG()**: 返回数的自然对数。
- 示例:`SELECT LOG(10);` 结果为 `2.30259`。
40. **EXP()**: 返回e的n次方。
- 示例:`SELECT EXP(1);` 结果为 `2.71828`。
以上这些函数都非常重要,可以帮助我们在数据库查询中实现更复杂的逻辑判断和运算。
AIGC ChatGPT 职场案例
AI 绘画 与 短视频制作
PowerBI 商业智能 68集
Mysql 8.0 54集
Oracle 21C 142集
Office 2021实战应用
Python 数据分析实战,
ETL Informatica 数据仓库案例实战 51集
Excel 2021实操 100集,
Excel 2021函数大全 80集
Excel 2021高级图表应用 89集,
Excel 2021大屏可视化制作 56集
Excel 2021实用技巧 300集
PPT 2021 商业汇报实战应用 69集
Tableau 数据分析 80集
FineReport 帆软大屏可视化 50集
送你各类文档模板PPT,表格,大屏可视化 超过5000+模板
以上案例实战获取: https://edu.csdn.net/combo/detail/2552