Skip to content

常用函数速查 ​

本页只列常用函数,不覆盖完整函数库。参数、返回类型和适用版本以目标 MySQL 版本参考手册为准;表达式包索引列时可能无法直接使用普通索引,见索引使用。

字符串函数 ​

函数说明示例
CONCAT(s1, s2, ...)拼接字符串CONCAT('Hello', ' ', 'World')
CONCAT_WS(sep, s1, s2)用分隔符拼接CONCAT_WS('-', '2026', '08', '31')
SUBSTRING(s, pos, len)截取子串SUBSTRING('Hello', 1, 3) → Hel
LENGTH(s)字节长度LENGTH('你好') → 6(utf8mb4)
CHAR_LENGTH(s)字符长度CHAR_LENGTH('你好') → 2
TRIM(s)去首尾空格TRIM(' hi ') → hi
REPLACE(s, from, to)替换REPLACE('abc', 'b', 'X') → aXc

条件与 NULL ​

函数说明示例
IFNULL(expr1, expr2)expr1 为 NULL 时返回 expr2IFNULL(col, 'unknown')
COALESCE(a, b, c)返回第一个非 NULL 参数COALESCE(a, b, c)
IF(condition, true_value, false_value)简单条件表达式IF(status = 1, 'on', 'off')
CASE ... WHEN ... THEN ... END多分支条件表达式CASE status WHEN 1 THEN 'on' ELSE 'off' END

COALESCE 和 IFNULL 不限于字符串;聚合函数 SUM、AVG、MAX 和 MIN 通常忽略 NULL,但 COUNT(*) 统计行数,包含被统计列值为 NULL 的行。

日期函数 ​

函数说明示例
NOW()当前日期时间2026-08-31 12:00:00
CURDATE()当前日期2026-08-31
DATE_FORMAT(d, fmt)格式化日期DATE_FORMAT(NOW(), '%Y-%m-%d')
DATEDIFF(d1, d2)日期差(天)DATEDIFF('2026-12-31', '2026-01-01') → 364
DATE_ADD(d, INTERVAL n unit)日期加减DATE_ADD(NOW(), INTERVAL 7 DAY)
UNIX_TIMESTAMP(d)转时间戳UNIX_TIMESTAMP(NOW())
FROM_UNIXTIME(ts)时间戳转日期FROM_UNIXTIME(1693000000)

聚合函数 ​

函数说明
COUNT(*)当前分组或结果集的行数,包括被统计列值为 NULL 的行
COUNT(col)col 非 NULL 的行数
COUNT(DISTINCT col)col 非 NULL 的不同值数量
SUM(col)求和
AVG(col)col 非 NULL 值的平均值
MAX(col) / MIN(col)最大 / 最小值
GROUP_CONCAT(col)分组拼接;结果为 NULL 时默认返回 NULL,并受 group_concat_max_len 限制

数值函数 ​

函数说明示例
ROUND(x, d)四舍五入到 d 位小数ROUND(123.456, 2) → 123.46
TRUNCATE(x, d)截断到 d 位小数TRUNCATE(123.456, 2) → 123.45
ABS(x)绝对值ABS(-8) → 8
MOD(x, y)取余MOD(7, 3) → 1

窗口函数(8.0+) ​

函数说明
ROW_NUMBER()行号,无重复
RANK()排名,有并列会跳号
DENSE_RANK()排名,有并列不跳号
LAG(col, n)前 n 行的值
LEAD(col, n)后 n 行的值
NTILE(n)分成 n 组
SUM() OVER()累计求和

所有窗口函数都必须带 OVER(...) 子句;MySQL 8.0 起支持本节函数。

JSON 函数 ​

函数说明示例
JSON_EXTRACT(json, path)按路径提取 JSON 值JSON_EXTRACT(doc, '$.name')
JSON_OBJECT(...)创建 JSON 对象JSON_OBJECT('id', 1)
JSON_ARRAY(...)创建 JSON 数组JSON_ARRAY(1, 2, 3)
JSON_VALID(expr)判断字符串是否为有效 JSONJSON_VALID(payload)

JSON 查询、函数索引和生成列的完整用法见 JSON 类型。

Released under the MIT License.