Skip to content
本页内容

🐬 MySQL 常用函数

📌 字符串函数

sql
-- 长度
LENGTH(str)              -- 字节长度
CHAR_LENGTH(str)         -- 字符长度

-- 拼接
CONCAT(str1, str2, ...)  -- 拼接字符串
CONCAT_WS(',', a, b, c)  -- 用逗号拼接 a,b,c

-- 大小写转换
UPPER(str)   -- 转大写
LOWER(str)   -- 转小写

-- 子串
SUBSTRING(str, pos, len)   -- 截取子串
LEFT(str, len)             -- 从左截取
RIGHT(str, len)            -- 从右截取

-- 去空格
TRIM(str)      -- 去掉首尾空格
LTRIM(str)     -- 去掉左侧空格
RTRIM(str)     -- 去掉右侧空格

-- 替换
REPLACE(str, from, to)    -- 替换子串

-- 查找
INSTR(str, substr)        -- 返回子串位置
LOCATE(substr, str)       -- 同上

📌 数值函数

sql
-- 四舍五入
ROUND(x)             -- 四舍五入
ROUND(x, d)          -- 保留 d 位小数
TRUNCATE(x, d)       -- 截断到 d 位小数

-- 绝对值
ABS(x)               -- 绝对值

-- 取整
CEIL(x) / CEILING(x) -- 向上取整
FLOOR(x)             -- 向下取整

-- 取余
MOD(x, y)            -- x % y

-- 随机数
RAND()               -- 返回 [0,1) 随机数

📌 日期时间函数

sql
-- 当前时间
NOW()                -- 当前日期时间
CURDATE()            -- 当前日期
CURTIME()            -- 当前时间
SYSDATE()            -- 系统时间

-- 提取部分
YEAR(date)           -- 年
MONTH(date)          -- 月
DAY(date)            -- 日
HOUR(time)           -- 时
MINUTE(time)         -- 分
SECOND(time)         -- 秒
DAYOFWEEK(date)      -- 星期 (1=周日)

-- 格式化
DATE_FORMAT(date, format)  
-- 示例: DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')

-- 日期运算
DATEDIFF(d1, d2)     -- 相差天数
TIMESTAMPDIFF(unit, d1, d2)  
-- 示例: TIMESTAMPDIFF(DAY, '2025-01-01', NOW())

DATE_ADD(date, INTERVAL n unit)  
DATE_SUB(date, INTERVAL n unit)
-- 示例: DATE_ADD(NOW(), INTERVAL 7 DAY)

📌 聚合函数

sql
COUNT(*)        -- 统计行数
COUNT(DISTINCT col)  -- 统计不同值个数
SUM(col)        -- 求和
AVG(col)        -- 平均值
MAX(col)        -- 最大值
MIN(col)        -- 最小值

📌 条件与流程控制函数

sql
-- IF 判断
IF(expr, val1, val2)  
-- expr 为真返回 val1,否则 val2

-- NULL 处理
IFNULL(expr, default_val)  
-- expr 为 NULL 返回默认值

-- CASE 表达式
CASE
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  ELSE resultN
END

📌 JSON 函数(MySQL 5.7+)

sql
JSON_EXTRACT(json_doc, path)   -- 提取 JSON 字段
JSON_SET(json_doc, path, val)  -- 设置值
JSON_ARRAY(val1, val2, ...)    -- 创建 JSON 数组
JSON_OBJECT(k1, v1, k2, v2, ...) -- 创建 JSON 对象

📌 加密与其他

sql
MD5(str)       -- 计算 MD5
SHA1(str)      -- 计算 SHA1
PASSWORD(str)  -- MySQL 内部密码函数(不推荐)

✅ 这份速查表能覆盖日常开发绝大部分函数需求。