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| created_at |
|---|
| 2026-01-03 |
| 2026-01-08 |
| 2026-02-02 |
| 2026-02-15 |
运行结果
| month |
|---|
| 2026-01 |
| 2026-01 |
| 2026-02 |
| 2026-02 |
常见问题
DATE_FORMAT 适合用于 WHERE 条件吗?
不建议在大表过滤中对字段套 DATE_FORMAT,因为可能影响索引使用。
DATE_FORMAT 返回的是日期还是字符串?
通常返回格式化后的字符串。
按月份统计一定要用 DATE_FORMAT 吗?
不一定,也可以用 YEAR、MONTH 或日期范围条件,具体取决于展示和性能需求。
标签
这篇内容是否清楚?
感谢反馈,我们会把它用于后续内容复核。