日期时间运算

算两个日期差几天、给下单时间加 7 天、按年月汇总——日期函数是做时间维度报表的核心。重点掌握 NOW、日期加减和格式化这三组。

日期时间运算要点

日期时间运算示例

						-- 下单后 7 天到期的单子
						SELECT order_id, DATE_ADD(created_at, INTERVAL 7 DAY) AS due
						FROM orders;

						-- 按月份统计成交额
						SELECT DATE_FORMAT(created_at, '%Y-%m') AS month,
						       SUM(amount) AS total
						FROM orders
						GROUP BY month;

						-- 两笔时间相差多少小时
						SELECT TIMESTAMPDIFF(HOUR, start_at, end_at) AS hours
						FROM task;
避坑提醒:DATEDIFF 只看日期不看时间,跨午夜的『不到一天』也会算成 0 或 1 天。需要精确到小时分钟,改用 TIMESTAMPDIFF(HOUR, ...) 才靠谱。
日期时间运算 · MySQL 函数 知识卡片
卡片 05 / 11 · MySQL 函数(1080×1440 速查卡片)

MySQL 函数知识点