分享几个mysql常用的函数方法

以下是将我之前的回答转换为 Markdown 格式后的结果:


MySQL 常用函数

在 MySQL 中,有许多非常有用的函数,这些函数可以用于处理字符串、日期、数值及其他数据类型的操作。以下是一些常用且非常有用的 MySQL 函数:

字符串函数

  1. CONCAT:

    • 用于将两个或多个字符串连接在一起。
    • SELECT CONCAT('Hello', ' ', 'World') AS Greeting;
      
  2. SUBSTRING (或 SUBSTR):

    • 从字符串中提取子字符串。
    • SELECT SUBSTRING('Hello World', 7, 5) AS ExtractedString;  -- 输出: World
      
  3. LENGTH:

    • 返回字符串的长度(字符数)。
    • SELECT LENGTH('Hello') AS StringLength;  -- 输出: 5
      
  4. REPLACE:

    • 将字符串中的某部分替换为另一部分。
    • SELECT REPLACE('Hello World', 'World', 'MySQL') AS ReplacedString;  -- 输出: Hello MySQL
      
  5. TRIM (或 LTRIM, RTRIM):

    • 用于去除字符串开头或结尾的空格字符。
    • SELECT TRIM('  Hello World  ') AS TrimmedString;  -- 输出: Hello World
      

日期函数

  1. NOW:

    • 返回当前的日期和时间。
    • SELECT NOW() AS CurrentDateTime;
      
  2. CURDATE:

    • 返回当前的日期(不包括时间)。
    • SELECT CURDATE() AS CurrentDate;
      
  3. DATE_FORMAT:

    • 用于以特定格式显示日期/时间。
    • SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS FormattedDateTime;
      
  4. DATEDIFF:

    • 计算两个日期之间的天数。
    • SELECT DATEDIFF('2023-10-01', '2023-09-25') AS DaysDifference;  -- 输出: 6
      
  5. TIMESTAMPDIFF:

    • 返回两个日期或时间表达式之间的差值。
    • SELECT TIMESTAMPDIFF(MINUTE, '2023-10-01 12:00:00', '2023-10-01 12:30:00') AS MinuteDifference;  -- 输出: 30
      

数值函数

  1. ROUND:

    • 用于四舍五入数值。
    • SELECT ROUND(123.456, 2) AS RoundedNumber;  -- 输出: 123.46
      
  2. CEIL (或 CEILING):

    • 返回大于或等于指定数值的最小整数。
    • SELECT CEIL(123.456) AS CeilNumber;  -- 输出: 124
      
  3. FLOOR:

    • 返回小于或等于指定数值的最大整数。
    • SELECT FLOOR(123.456) AS FloorNumber;  -- 输出: 123
      
  4. ABS:

    • 返回数字的绝对值。
    • SELECT ABS(-123.45) AS AbsoluteValue;  -- 输出: 123.45
      
  5. MOD:

    • 取模运算,返回除法的余数。
    • SELECT MOD(10, 3) AS Remainder;  -- 输出: 1
      

聚合函数

  1. COUNT:

    • 返回查询结果的行数。
    • SELECT COUNT(*) AS TotalCount FROM Users;
      
  2. SUM:

    • 返回数值列的总和。
    • SELECT SUM(amount) AS TotalAmount FROM Transactions;
      
  3. AVG:

    • 返回数值列的平均值。
    • SELECT AVG(score) AS AverageScore FROM Exams;
      
  4. MAX:

    • 返回列中的最大值。
    • SELECT MAX(salary) AS MaxSalary FROM Employees;
      
  5. MIN:

    • 返回列中的最小值。
    • SELECT MIN(price) AS MinPrice FROM Products;
      

JSON 函数(MySQL 5.7 及更高版本)

  1. JSON_EXTRACT:

    • 从 JSON 文档中提取数据。
    • SELECT JSON_EXTRACT('{"name": "John", "age": 30}', '$.name') AS Name;  -- 输出: "John"
      
  2. JSON_ARRAYAGG:

    • 创建一个 JSON 数组,包含一组值。
    • SELECT JSON_ARRAYAGG(name) AS NamesArray FROM Employees;
      
  3. JSON_OBJECT:

    • 创建一个 JSON 对象,包含一组键值对。
    • SELECT JSON_OBJECT('name', name, 'age', age) AS EmployeeJson FROM Employees;
      
  4. JSON_CONTAINS:

    • 检查 JSON 文档中是否包含特定值。
    • SELECT JSON_CONTAINS('{"name": "John", "age": 30}', '30', '$.age') AS ContainsAge;  -- 输出: 1
      

这些函数只是 MySQL 提供的众多函数中的一部分。在编写 SQL 查询时,使用这些函数可以大大提高数据处理的灵活性和效率。根据具体的业务场景和数据处理需求,可以选择合适的函数进行使用。


  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值