MySQL 提供了多种内置函数,用于处理数据、执行计算和转换数据类型等操作。以下是一些常见的 MySQL 函数及其详细说明和案例:

1. 字符串函数

  • CONCAT(str1, str2, ...): 连接两个或多个字符串。

    SELECT CONCAT('Hello', ' ', 'World'); -- 输出: Hello World
  • SUBSTRING(str, start, length): 从字符串中提取子字符串。

    SELECT SUBSTRING('Hello World', 7, 5); -- 输出: World
  • LENGTH(str): 返回字符串的长度。

    SELECT LENGTH('Hello'); -- 输出: 5
  • UPPER(str): 将字符串转换为大写。

    SELECT UPPER('hello'); -- 输出: HELLO
  • LOWER(str): 将字符串转换为小写。

    SELECT LOWER('HELLO'); -- 输出: hello

2. 数值函数

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

    SELECT ABS(-10); -- 输出: 10
  • ROUND(x, d): 对数值进行四舍五入,d 为小数位数。

    SELECT ROUND(3.14159, 2); -- 输出: 3.14
  • CEIL(x): 返回大于或等于 x 的最小整数。

    SELECT CEIL(3.14); -- 输出: 4
  • FLOOR(x): 返回小于或等于 x 的最大整数。

    SELECT FLOOR(3.14); -- 输出: 3

3. 日期和时间函数

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

    SELECT NOW(); -- 输出: 2023-10-05 12:34:56
  • CURDATE(): 返回当前日期。

    SELECT CURDATE(); -- 输出: 2023-10-05
  • CURTIME(): 返回当前时间。

    SELECT CURTIME(); -- 输出: 12:34:56
  • DATE_FORMAT(date, format): 格式化日期。

    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 输出: 2023-10-05

4. 聚合函数

  • COUNT(expr): 返回匹配条件的行数。

    SELECT COUNT(*) FROM users; -- 输出: 用户表中的总行数
  • SUM(expr): 返回数值列的总和。

    SELECT SUM(salary) FROM employees; -- 输出: 员工表中工资的总和
  • AVG(expr): 返回数值列的平均值。

    SELECT AVG(salary) FROM employees; -- 输出: 员工表中工资的平均值
  • MAX(expr): 返回数值列的最大值。

    SELECT MAX(salary) FROM employees; -- 输出: 员工表中工资的最大值
  • MIN(expr): 返回数值列的最小值。

    SELECT MIN(salary) FROM employees; -- 输出: 员工表中工资的最小值

5. 条件函数

  • IF(expr, true_value, false_value): 如果 expr 为真,返回 true_value,否则返回 false_value。

    SELECT IF(1 > 0, 'True', 'False'); -- 输出: True
  • CASE: 多条件判断。

    SELECT CASE 
             WHEN salary > 5000 THEN 'High'
             WHEN salary > 3000 THEN 'Medium'
             ELSE 'Low'
           END AS salary_level
    FROM employees;

6. 其他函数

  • COALESCE(expr1, expr2, ...): 返回第一个非 NULL 的表达式。

    SELECT COALESCE(NULL, 'Hello', 'World'); -- 输出: Hello
  • NULLIF(expr1, expr2): 如果 expr1 等于 expr2,返回 NULL,否则返回 expr1。

    SELECT NULLIF(10, 10); -- 输出: NULL
    SELECT NULLIF(10, 20); -- 输出: 10

这些函数可以帮助你在

本篇文章内容来源于:MySQL 函数详细说明以及案例