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

MySQL 日期時間型別、函數完整速查手冊

     編輯:MySQL 資料庫相關知識

日期時間資料型別比較

型別儲存空間格式範圍
DATETIME8 bytesYYYY-MM-DD HH:MM:SS1000-01-01 ~ 9999-12-31
TIMESTAMP4 bytesYYYY-MM-DD HH:MM:SS1970-01-01 ~ 2038
DATE3 bytesYYYY-MM-DD1000-01-01 ~ 9999-12-31
YEAR1 byteYYYY1901 ~ 2155
TIME3 bytesHH:MM:SS-838:59:59 ~ 838:59:59 (支援負值,用於時間差)

建議:一般情況優先使用 DATETIME,範圍大且不受時區影響。TIMESTAMP 會自動填充/更新為當前時間,適合記錄建立/修改時間戳。

常用取得當前時間函數

  • NOW()、SYSDATE():NOW() 在語句開始時固定值,SYSDATE() 執行時動態取值。
  • CURDATE()、CURTIME():分別取得日期、時間。
  • UTC_TIMESTAMP()、UTC_DATE()、UTC_TIME():UTC 時間,跨時區應用必備。

日期運算核心函數

DATE_ADD / DATE_SUB

DATE_ADD('1997-12-31 23:59:59', INTERVAL 1 SECOND)  -- 1998-01-01 00:00:00
DATE_ADD('1998-01-01', INTERVAL -1 DAY)              -- 1997-12-31
DATE_ADD('1998-01-01', INTERVAL '1 1:1:1' DAY_SECOND) -- 1998-01-02 01:01:01

支援單位:MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER、YEAR 及複合單位(DAY_HOUR、HOUR_MINUTE 等)。

DATEDIFF / TIMEDIFF

DATEDIFF('2008-08-08', '2008-08-01')  -- 7 (天數差)
TIMEDIFF('08:08:08', '00:00:00')      -- 08:08:08 (時間差)

TIMESTAMPADD / TIMESTAMPDIFF

功能更強大,支援指定單位(YEAR、MONTH、DAY、HOUR 等)的加減與差值計算。

日期格式化與解析

DATE_FORMAT / TIME_FORMAT

常用格式符:%Y 四位年、%m 月(00-12)、%d 日(00-31)、%H 時(00-23)、%i 分、%s 秒、%W 星期名稱、%M 月份名稱。

DATE_FORMAT('2008-08-08 22:23:00', '%Y%m%d%H%i%s')  -- 20080808222301

STR_TO_DATE

將任意字串依格式解析為日期:

STR_TO_DATE('08/09/2008', '%m/%d/%Y')        -- 2008-08-09
STR_TO_DATE('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s')

Unix 時間戳轉換

UNIX_TIMESTAMP()              -- 當前時間戳
UNIX_TIMESTAMP('2008-08-08')  -- 指定日期轉時間戳
FROM_UNIXTIME(1218290027)     -- 時間戳轉日期時間
FROM_UNIXTIME(1218290027, '%Y %D %M %h:%i:%s %x')

時區轉換

CONVERT_TZ('2008-08-08 12:00:00', '+08:00', '+00:00')  -- 2008-08-08 04:00:00
-- 或用 DATE_ADD/TIMESTAMPADD 手動加減時差

其他實用函數

  • EXTRACT(unit FROM datetime):彈性擷取日期任意部分(含複合單位)。
  • LAST_DAY(date):取得該月最後一天,配合 DAY() 可算出月份天數。
  • MAKEDATE(year, dayofyear)、MAKETIME(hour, minute, second):組合日期/時間。
  • GET_FORMAT(type, 'locale'):取得各地區預設格式字串。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved