首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL DATE_ADD 日期運算與 DATE_FORMAT 格式化函數完整參考

     編輯:MySQL 資料庫相關知識

DATE_ADD / DATE_SUB 語法

DATE_ADD(date, INTERVAL expr type)
DATE_SUB(date, INTERVAL expr type)
  • date:起始日期 (DATETIME 或 DATE)。
  • expr:間隔值字串,負值前加 -。
  • type:關鍵字指定單位,不分大小寫。

間隔類型對照表

typeexpr 格式範例
SECOND10
MINUTE5
HOUR2
DAY3
MONTH1
YEAR1
MINUTE_SECOND'5:30'
HOUR_MINUTE'2:30'
DAY_HOUR'3 5'
DAY_MINUTE'3 5:30'
DAY_SECOND'3 5:30:10'
YEAR_MONTH'1-6'
HOUR_SECOND'2:30:10'
SECOND_MICROSECOND'10.500000'

常用範例

SELECT DATE_ADD('1997-12-31 23:59:59', INTERVAL 1 SECOND);   -- 1998-01-01 00:00:00
SELECT DATE_ADD('1997-12-31', INTERVAL 1 DAY);               -- 1998-01-01
SELECT DATE_ADD('1998-01-01', INTERVAL '1:1' MINUTE_SECOND); -- 1998-01-01 00:01:00
SELECT DATE_SUB('1998-01-01 00:00:00', INTERVAL '1 1:1:1' DAY_SECOND); -- 1997-12-30 22:58:59
SELECT DATE_ADD('1998-01-01', INTERVAL '-1 10' DAY_HOUR);    -- 1997-12-30 14:00:00
SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);              -- 1997-12-02

規則:若 date 為 DATE 且運算不含時間部分,結果為 DATE;否則為 DATETIME。月份溢位自動調整至該月最後一天 (如 1月30日 + 1個月 = 2月28日)。

DATE_FORMAT 格式化符號完整表

符號說明範例
%Y四位年份2024
%y兩位年份24
%m月份 (00-12)08
%c月份 (0-12)8
%M月份英文名August
%b月份縮寫Aug
%d日期 (00-31)08
%e日期 (0-31)8
%D帶後綴日期8th
%H小時 (00-23)22
%h / %I小時 (01-12)10
%i分鐘 (00-59)23
%s / %S秒數 (00-59)00
%T24小時制時間22:23:00
%r12小時制時間含 AM/PM10:23:00 PM
%W星期名稱Friday
%a星期縮寫Fri
%w星期索引 (0=Sun)5
%j年內天數 (001-366)221
%U週數 (Sun 為第一天)31
%u週數 (Mon 為第一天)32
%%字面 % 符號%

範例

SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');       -- Saturday October 1997
SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');       -- 22:23:00
SELECT DATE_FORMAT('1997-10-04 22:23:00', '%D %y %a %d %m %b %j'); -- 4th 97 Sat 04 10 Oct 277
SELECT DATE_FORMAT('1999-01-01', '%X %V');                   -- 1998 52 (ISO 週年/週數)

所有其他字元原樣輸出。% 必須緊跟格式符。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved