mysql 8.0 常用函数大全总结,并列出实例

本文详细介绍了MySQL8.0中的20个常用内置函数,包括字符串处理、数值计算、日期时间操作、比较逻辑以及控制流程等,通过实例展示了如何在数据库查询中运用这些函数进行复杂逻辑和运算。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿里数据专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值