SQLPathLab
日期时间函数 · 基础

DATE_FORMAT

把日期时间格式化成指定字符串样式。

简介

DATE_FORMAT 是 MySQL 日期格式化函数,会根据格式串返回文本。本例使用 %Y-%m 输出年月,适合报表展示;大表筛选时不要对索引日期字段套 DATE_FORMAT,应优先使用起止日期范围。其他数据库的格式化函数和占位符不同。

基础语法

SELECT DATE_FORMAT(created_at, '%Y-%m') AS month FROM orders;

示例

DATE_FORMAT 示例

把每笔订单的 created_at 格式化为 YYYY-MM,观察日期被转换成月份文本。

示例数据表

表名:orders
orders
created_at
2026-01-03
2026-01-08
2026-02-02
2026-02-15

运行结果

result
month
2026-01
2026-01
2026-02
2026-02

常见问题

DATE_FORMAT 适合用于 WHERE 条件吗?

不建议在大表过滤中对字段套 DATE_FORMAT,因为可能影响索引使用。

DATE_FORMAT 返回的是日期还是字符串?

通常返回格式化后的字符串。

按月份统计一定要用 DATE_FORMAT 吗?

不一定,也可以用 YEAR、MONTH 或日期范围条件,具体取决于展示和性能需求。

标签

常用日期时间

这篇内容是否清楚?