1、date_sub()、date_add()
date_sub() 和date_add() 語法相同,只不過一個加一個減。
從日期中減去指定時間間隔
語法:
DATE_SUB(start_date, INTERVAL expr unit)
-
start_date: 起始日期(如 now() , 字段名)。
-
INTERVAL expr unit: 要減去的時間間隔(
expr
為數值,unit
為時間單位)。 -
注釋 單位 ( unit
)年 YEAR
季度 QUARTER
月 MONTH
周 WEEK
天 DAY
小時 HOUR
分鐘 MINUTE
秒 SECOND
?SELECT DATE_SUB(NOW(), INTERVAL 7 DAY); -- 2025-05-06 18:24:04SELECT DATE_SUB('2025-05-13', INTERVAL 7 DAY); -- 2025-05-06??-- 查過去7天的訂單數SELECT * FROM ordersWHERE order_date >= DATE_SUB(NOW(), INTERVAL 7 DAY);??-- 動態計算時間 ,查詢某日期 過去7天和未來7天的數據SELECT * FROM salesWHERE sale_date BETWEEN DATE_SUB('2025-02-20', INTERVAL 7 DAY) AND DATE_ADD('2025-02-20', INTERVAL 7 DAY);
3、datediff()
計算兩個日期之間的天數差(僅日期部分,忽略時間)。
?DATEDIFF(end_date, start_date)
select DATEDIFF(now(), '2024-05-13') -- 365select DATEDIFF(now(),'2024-05-13 12:30:41') -- 365