MySQL函数日常使用汇总

MySQL提供了许多内置函数,用于在查询和处理数据时进行各种操作和计算。以下是一些常用的MySQL函数及其详细解释和代码实例:

1. 聚合函数

  • COUNT(expr):返回给定表达式非NULL值的数量。

    SELECT COUNT(*) FROM 表名;  -- 返回表中的记录总数
    
  • SUM(expr):返回给定表达式的总和。

    SELECT SUM(价格) FROM 表名;  -- 返回价格列的总和
    
  • AVG(expr):返回给定表达式的平均值。

    SELECT AVG(分数) FROM 表名;  -- 返回分数列的平均值
    
  • MAX(expr):返回给定表达式的最大值。

    SELECT MAX(年龄) FROM 表名;  -- 返回年龄列的最大值
    
  • MIN(expr):返回给定表达式的最小值。

    SELECT MIN(年龄) FROM 表名;  -- 返回年龄列的最小值
    

    2. 日期和时间函数

  • NOW():返回当前日期和时间。

    SELECT NOW();  -- 返回当前日期和时间,例如:'2023-09-09 02:26:28'
    
  • YEAR(date):返回date的年份。

    SELECT YEAR('2023-09-09');  -- 返回2023
    
  • MONTH(date):返回date的月份。

    SELECT MONTH('2023-09-09');  -- 返回9
    
  • DAY(date):返回date的日份。

    SELECT DAY('2023-09-09');  -- 返回9
    
  • DATE_FORMAT(date, format):将date按照指定的格式进行格式化。

    SELECT DATE_FORMAT('2023-09-09', '%Y年%m月%d日');  -- 返回'2023年09月09日'
    

3. 字符串函数

  • CONCAT(str1, str2, …):将多个字符串连接在一起。

    SELECT CONCAT('Hello', ' ', 'World');  -- 返回'Hello World'
    
  • LENGTH(str):返回str的长度。

    SELECT LENGTH('Hello');  -- 返回5
    
  • SUBSTRING(str, pos, len):返回str从pos位置开始长度为len的子字符串。

    SELECT SUBSTRING('Hello World', 7, 5);  -- 返回'World'
    
  • UPPER(str):将str转换为大写。

    SELECT UPPER('hello');  -- 返回'HELLO'
    
  • LOWER(str):将str转换为小写。

    SELECT LOWER('Hello');  -- 返回'hello'
    

4. 条件函数

  • IF(condition, true_expr, false_expr):如果条件为真,返回true_expr;否则,返回false_expr。

    SELECT IF(成绩 >= 60, '及格', '不及格') FROM 表名;  -- 根据成绩判断及格与否
    
  • CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE result END:根据条件进行条件判断和结果返回。

    SELECT CASE WHEN 分数 >= 90 THEN '优秀' WHEN 分数 >= 80 THEN '良好' ELSE '及格' END FROM 表名;  -- 根据分数判断等级
    

5. 类型转换函数

  • CAST(expr AS type):将表达式转换为指定类型。

    SELECT CAST('123' AS UNSIGNED);  -- 将字符串转换为无符号整数
    
  • CONVERT(expr, type):将表达式转换为指定类型。

    SELECT CONVERT('2023-09-09', DATE);  -- 将字符串转换为日期类型
    

6. 数学函数

  • ABS(x):返回x的绝对值。

    SELECT ABS(-10);  -- 返回10
    
  • ROUND(x):将x四舍五入为最接近的整数。

    SELECT ROUND(3.7);  -- 返回4
    
  • CEILING(x):返回大于或等于x的最小整数。

    SELECT CEILING(3.2);  -- 返回4
    
  • FLOOR(x):返回小于或等于x的最大整数。

    SELECT FLOOR(3.8);  -- 返回3
    

7. 随机数函数

  • RAND():函数返回一个位于0和1之间的随机浮点数。

    SELECT RAND();  -- 返回一个随机浮点数
    
  • RAND(N):函数返回一个位于0和N之间的随机浮点数。

    SELECT RAND(10);  -- 返回一个位于0和10之间的随机浮点数
    
  • RAND(SEED):函数可以接受一个种子值SEED作为参数,用于生成重复的随机数序列。

    SELECT RAND(100);  -- 返回一个基于种子值100的随机浮点数
    
  • FLOOR(RAND() * (max - min + 1) + min):这是一个常见的用于生成指定范围内随机整数的方法。使用RAND()函数结合FLOOR()函数来生成随机整数,通过设置max和min来指定范围。

    SELECT FLOOR(RAND() * (100 - 1 + 1) + 1);  -- 返回1到100之间的随机整数
    

猜你喜欢

转载自blog.csdn.net/qq_45196093/article/details/132779217