MySQL常用函数

MySQL常用函数

在数据库中,函数是一种能够接收参数并返回单个值的数据库对象。函数可以在 SQL 查询中用于执行特定的计算、转换数据或执行其他操作。数据库系统通常提供了许多内置函数,同时也允许用户创建自定义函数以满足特定需求。这里就只对一些常用的内置函数进行一下简单的介绍:

函数名称 描述 示例
CONCAT() 将多个字符串连接成一个字符串。 CONCAT('Hello', ' ', 'World') 返回 'Hello World'
UPPER() 将字符串转换为大写。 UPPER('hello') 返回 'HELLO'
LOWER() 将字符串转换为小写。 LOWER('WORLD') 返回 'world'
LENGTH() 返回字符串的字符数。 LENGTH('Hello') 返回 5
SUBSTRING() 返回字符串的子串。 SUBSTRING('Hello World', 7, 5) 返回 'World'
ROUND() 对数字进行四舍五入。 ROUND(3.14159, 2) 返回 3.14
ABS() 返回数字的绝对值。 ABS(-10) 返回 10
CEILING() 返回大于或等于指定数字的最小整数值。 CEILING(3.14) 返回 4
POWER() 返回指定数字的指定次幂。 POWER(2, 3) 返回 8
DATE_FORMAT() 将日期格式化为指定的字符串格式。 DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') 返回当前日期和时间的格式化字符串
DATE_ADD() 在给定日期上添加指定的时间间隔。 DATE_ADD('2022-01-01', INTERVAL 1 DAY) 返回 '2022-01-02'
DATEDIFF() 返回两个日期之间的天数差。 DATEDIFF('2022-01-01', '2022-01-05') 返回 -4
NOW() 返回当前日期和时间。 NOW() 返回当前日期和时间的值
IF() 如果条件成立,则返回一个值,否则返回另一个值。 IF(10 > 5, 'true', 'false') 返回 'true''false'
CASE 用于执行多条件逻辑,类似于编程语言中的 switch 语句。 CASE WHEN score >= 90 THEN 'A' ELSE 'B' END 根据分数等级返回对应的等级
AVG() 返回数值列的平均值。 AVG(sales) 返回销售额的平均值
SUM() 返回数值列的总和。 SUM(quantity) 返回数量的总和
MAX() 返回数值列的最大值。 MAX(price) 返回最高的价格
MIN() 返回数值列的最小值。 MIN(age) 返回最小的年龄
COUNT() 返回行数或符合条件的行数。 COUNT(*) 返回行数或非空值的数量
ARRAY_LENGTH() 返回数组的长度。 ARRAY_LENGTH([1, 2, 3, 4]) 返回 4
ARRAY_JOIN() 将数组中的元素连接成一个字符串。 ARRAY_JOIN(['apple', 'banana', 'orange'], ', ') 返回 'apple, banana, orange'
USER() 返回当前用户。 USER() 返回当前用户的名称
DATABASE() 返回当前数据库。 DATABASE() 返回当前数据库的名称
VERSION() 返回数据库版本。 VERSION() 返回当前数据库的版本号

假如我们有一张表,表名为 example_table,如下所示:

+----+---------------+----------------+-------------+-------------+--------------+
| id | string_column | numeric_column | date_column | bool_column | array_column |
+----+---------------+----------------+-------------+-------------+--------------+
|  1 | Apple         |          10.50 | 2024-06-10  |           1 | [1, 2, 3]    |
|  2 | Banana        |          20.75 | 2024-06-11  |           0 | [4, 5, 6]    |
|  3 | Orange        |          15.00 | 2024-06-12  |           1 | [7, 8, 9]    |
+----+---------------+----------------+-------------+-------------+--------------+
  • CONCAT():将 string_columnnumeric_column 连接起来。

    SELECT CONCAT(string_column, ' - $', numeric_column) AS concatenated_string 
    FROM example_table;
    
    +---------------------+
    | concatenated_string |
    +---------------------+
    | Apple - $10.50      |
    | Banana - $20.75     |
    | Orange - $15.00     |
    +---------------------+
    3 rows in set (0.00 sec)
    
  • UPPER() / LOWER():将 string_column 转换为大写和小写。

    SELECT UPPER(string_column) AS uppercase_string, 
    LOWER(string_column) AS lowercase_string 
    FROM example_table;
    
    +------------------+------------------+
    | uppercase_string | lowercase_string |
    +------------------+------------------+
    | APPLE            | apple            |
    | BANANA           | banana           |
    | ORANGE           | orange           |
    +------------------+------------------+
    3 rows in set (0.00 sec)
    
  • LENGTH():计算 string_column 的长度。

     SELECT string_column, LENGTH(string_column) AS string_length 
     FROM example_table;
     
    +---------------+---------------+
    | string_column | string_length |
    +---------------+---------------+
    | Apple         |             5 |
    | Banana        |             6 |
    | Orange        |             6 |
    +---------------+---------------+
    3 rows in set (0.00 sec)
    
  • ROUND():对 numeric_column 进行四舍五入。

    SELECT numeric_column, ROUND(numeric_column) AS rounded_number 
    FROM example_table;
    
    +----------------+----------------+
    | numeric_column | rounded_number |
    +----------------+----------------+
    |          10.50 |             11 |
    |          20.75 |             21 |
    |          15.00 |             15 |
    +----------------+----------------+
    3 rows in set (0.00 sec)
    
  • CURDATE():返回当前日期。

    SELECT CURDATE();
    
    +------------+
    | CURDATE()  |
    +------------+
    | 2024-06-10 |
    +------------+
    1 row in set (0.00 sec)
    
  • DATE_FORMAT():格式化 date_column

    SELECT date_column, DATE_FORMAT(date_column, '%W, %M %e, %Y') AS formatted_date 
    FROM example_table;
    
    +-------------+--------------------------+
    | date_column | formatted_date           |
    +-------------+--------------------------+
    | 2024-06-10  | Monday, June 10, 2024    |
    | 2024-06-11  | Tuesday, June 11, 2024   |
    | 2024-06-12  | Wednesday, June 12, 2024 |
    +-------------+--------------------------+
    3 rows in set (0.00 sec)
    
  • IF():根据 bool_column 返回不同的值。

    SELECT bool_column, IF(bool_column, 'Yes', 'No') AS result 
    FROM example_table;
    
    +-------------+--------+
    | bool_column | result |
    +-------------+--------+
    |           1 | Yes    |
    |           0 | No     |
    |           1 | Yes    |
    +-------------+--------+
    3 rows in set (0.00 sec)
    
  • CASE WHEN:根据条件返回不同的值。

    SELECT 
        numeric_column,
        CASE 
            WHEN numeric_column > 15 THEN 'High'
            WHEN numeric_column > 10 THEN 'Medium'
            ELSE 'Low'
        END AS value_category
    FROM example_table;
    
    +----------------+----------------+
    | numeric_column | value_category |
    +----------------+----------------+
    |          10.50 | Medium         |
    |          20.75 | High           |
    |          15.00 | Medium         |
    +----------------+----------------+
    3 rows in set (0.00 sec)
    

由于函数众多,我们将不再逐一列举。

相关推荐

  1. mysql函数

    2024-06-18 23:38:01       47 阅读
  2. MySQL函数

    2024-06-18 23:38:01       17 阅读
  3. MySQL函数

    2024-06-18 23:38:01       6 阅读
  4. MySQL 函数介绍

    2024-06-18 23:38:01       35 阅读
  5. MySQL函数

    2024-06-18 23:38:01       18 阅读
  6. MySQL函数介绍

    2024-06-18 23:38:01       19 阅读
  7. MySQL函数举例

    2024-06-18 23:38:01       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-18 23:38:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-18 23:38:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-18 23:38:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-18 23:38:01       20 阅读

热门阅读

  1. 智能车联网安全发展形势、挑战

    2024-06-18 23:38:01       8 阅读
  2. Spring Cloud Gateway 概述与基本配置(下)

    2024-06-18 23:38:01       7 阅读
  3. 异常处理总结

    2024-06-18 23:38:01       4 阅读
  4. AQS和同步器工具类

    2024-06-18 23:38:01       5 阅读
  5. 微信小程序-路由和页面跳转API

    2024-06-18 23:38:01       7 阅读
  6. 算法设计与分析

    2024-06-18 23:38:01       8 阅读
  7. 定义仅限关键字参数

    2024-06-18 23:38:01       7 阅读
  8. NumPy 切片和索引

    2024-06-18 23:38:01       6 阅读
  9. 关于CSS

    关于CSS

    2024-06-18 23:38:01      4 阅读
  10. TOP150-LC121-买卖股票的最佳时机

    2024-06-18 23:38:01       6 阅读