mysql?DATE_ADD函數(shù)用法舉例
MySQL 中DATE_ADD()函數(shù)的用法詳解
DATE_ADD()是 MySQL 中用于日期時間計算的核心函數(shù),可對日期或時間進行加減操作。以下是完整用法說明:
基本語法
DATE_ADD(date, INTERVAL value unit)
- date:要操作的日期或時間值(如'2025-06-23'、NOW())。
- value:要添加的數(shù)值(正數(shù)為加,負數(shù)為減)。
- unit:時間單位,支持以下關(guān)鍵字:
- YEAR(年)、MONTH(月)、DAY(日)、HOUR(時)、MINUTE(分)、SECOND(秒)、WEEK(周)、QUARTER(季度)等。
常見示例
1.添加年 / 月 / 日
-- 給當前日期加1年
SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR); -- 輸出:2026-06-23 20:36:00
-- 給指定日期減3個月
SELECT DATE_ADD('2025-06-23', INTERVAL -3 MONTH); -- 輸出:2025-03-23
-- 給時間加15天
SELECT DATE_ADD('2025-06-23 12:00:00', INTERVAL 15 DAY); -- 輸出:2025-07-08 12:00:002.同時操作多個單位
-- 加1年2個月3天
SELECT DATE_ADD('2025-06-23', INTERVAL '1-2-3' YEAR_MONTH_DAY); -- 輸出:2026-08-26
-- 減1小時30分鐘
SELECT DATE_ADD(NOW(), INTERVAL '-1:30' HOUR_MINUTE);3.結(jié)合字段使用(如 UPDATE 語句)
-- 將所有訂單的過期時間延長7天 UPDATE orders SET expire_time = DATE_ADD(expire_time, INTERVAL 7 DAY) WHERE status = 'pending'; -- 將2025年的日期全部改為2024年(保留月日時分秒) UPDATE your_table SET pay_time = DATE_ADD(pay_time, INTERVAL (2024 - YEAR(pay_time)) YEAR) WHERE YEAR(pay_time) = 2025;
注意事項
- 負數(shù)表示減法:
-- 等同于 DATE_SUB() 函數(shù) SELECT DATE_ADD(NOW(), INTERVAL -1 DAY); -- 昨天 SELECT DATE_SUB(NOW(), INTERVAL 1 DAY); -- 效果相同
- 自動處理進位 / 退位:
-- 月末日期進位
SELECT DATE_ADD('2025-01-31', INTERVAL 1 MONTH); -- 輸出:2025-02-28(自動處理非閏年)
-- 閏年2月29日退位
SELECT DATE_ADD('2024-02-29', INTERVAL 1 YEAR); -- 輸出:2025-02-28- 時間單位縮寫:
- MICROSECOND(微秒)
- DAY_HOUR(天 + 時)
- DAY_MINUTE(天 + 分)
- DAY_SECOND(天 + 秒)
- HOUR_MINUTE(時 + 分)
- HOUR_SECOND(時 + 秒)
- MINUTE_SECOND(分 + 秒)
與其他日期函數(shù)對比
函數(shù) | 作用 | 示例 |
DATE_ADD() | 日期時間加減 | DATE_ADD(NOW(), INTERVAL 1 DAY) |
DATE_SUB() | 日期時間減法(等同于 DATE_ADD 負數(shù)) | DATE_SUB(NOW(), INTERVAL 1 DAY) |
DATEDIFF() | 計算兩個日期的天數(shù)差 | DATEDIFF('2025-06-23', '2025-01-01') → 173 |
TIMESTAMPDIFF() | 計算兩個日期的指定單位差(如小時、分鐘) | TIMESTAMPDIFF(HOUR, '2025-06-23 10:00', '2025-06-23 12:30') → 2.5 |
常見場景
- 計算未來 / 過去的日期:如活動倒計時、會員過期提醒。
- 批量修改日期字段:如將 2025 年數(shù)據(jù)改為 2024 年。
- 生成時間序列:如生成未來 30 天的日期列表。
掌握DATE_ADD()函數(shù)可以靈活處理 MySQL 中的日期時間計算需求!
到此這篇關(guān)于mysql DATE_ADD函數(shù)用法舉例的文章就介紹到這了,更多相關(guān)mysql date_add用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL加減間隔時間函數(shù)DATE_ADD和DATE_SUB的實現(xiàn)
- MySQL之DATE_ADD()和DATE_SUB()函數(shù)的使用方式
- mysql中日期的加減 date_add()、date_sub() 函數(shù)及用法小結(jié)
- mysql中使用date_add()函數(shù)講解
- MySQL DATE_ADD和ADDDATE函數(shù)實現(xiàn)向日期添加指定時間間隔
- MySQL的時間差函數(shù)(TIMESTAMPDIFF、DATEDIFF)、日期轉(zhuǎn)換計算函數(shù)(date_add、day、date_format、str_to_date)
- MySQL中DATE_ADD函數(shù)的具體使用
相關(guān)文章
坑人的Mysql5.7問題(默認不支持Group By語句)
這篇文章主要介紹了坑人的Mysql5.7問題(默認不支持Group By語句),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
JDBC-idea導入mysql連接java的jar包(mac)的方法
這篇文章主要介紹了JDBC-idea導入mysql連接java的jar包(mac)的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
MySQL 給用戶添加 ALTER VIEW 的權(quán)限的步驟
在 MySQL 中,用戶權(quán)限的管理是非常重要的,以確保數(shù)據(jù)庫安全性和數(shù)據(jù)完整性,這篇文章主要介紹了MySQL 給用戶添加 ALTER VIEW 的權(quán)限,需要的朋友可以參考下2024-05-05
MySQL 橫向衍生表(Lateral Derived Tables)的實現(xiàn)
橫向衍生表適用于在需要通過子查詢獲取中間結(jié)果集的場景,相對于普通衍生表,橫向衍生表可以引用在其之前出現(xiàn)過的表名,本文就來介紹一下MySQL 橫向衍生表(Lateral Derived Tables)的實現(xiàn),感興趣的可以了解一下2025-06-06
MySQL 動態(tài)分區(qū)管理自動化與優(yōu)化實踐記錄
本文將詳細介紹如何通過 MySQL 的存儲過程和事件調(diào)度器實現(xiàn)動態(tài)分區(qū)管理,確保分區(qū)表能夠自動適應數(shù)據(jù)增長,同時避免分區(qū)沖突,感興趣的朋友一起看看吧2025-05-05

