首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 日期時間函數速查卡:獲取、運算、格式化、時區、提取一頁通

     編輯:DB2 教學

核心函數分類表

單位編碼速查 (TIMESTAMPDIFF)

分類函數 / 語法說明示例
當前值CURRENT DATE當前日期VALUES CURRENT DATE; → 2024-01-15
CURRENT TIME當前時間VALUES CURRENT TIME; → 14:30:00
CURRENT TIMESTAMP當前時間戳VALUES CURRENT TIMESTAMP; → 2024-01-15 14:30:00.123456
時區調整CURRENT TIMESTAMP - CURRENT TIMEZONE轉 UTC 時間戳VALUES CURRENT TIMESTAMP - CURRENT TIMEZONE;
CURRENT TIME - CURRENT TIMEZONE轉 UTC 時間VALUES CURRENT TIME - CURRENT TIMEZONE;
組件提取YEAR(ts) / MONTH(ts) / DAY(ts)年/月/日VALUES YEAR(CURRENT TIMESTAMP); → 2024
HOUR(ts) / MINUTE(ts) / SECOND(ts)時/分/秒—
MICROSECOND(ts)微秒—
DAYOFWEEK(ts)星期 (1=周日)—
DAYOFWEEK_ISO(ts)ISO 星期 (1=周一)—
DAYOFYEAR(ts)年間第幾天—
WEEK(ts) / WEEK_ISO(ts)年間第幾周—
QUARTER(ts)季度—
格式化輸出VARCHAR_FORMAT(ts, 'fmt') / TO_CHAR(ts, 'fmt')時間戳 → 字符串VALUES VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS');
TIMESTAMP_FORMAT(str, 'fmt') / TO_DATE(str, 'fmt')字符串 → 時間戳VALUES TIMESTAMP_FORMAT('2024-01-15', 'YYYY-MM-DD');
常用模板YYYY/MM/DD/HH24/MI/SS/FF/Q/WW/AM/PM—
日期運算date + N UNIT / date - N UNIT極簡運算VALUES CURRENT DATE + 1 DAY; / VALUES CURRENT TIMESTAMP - 30 MINUTES;
TIMESTAMPDIFF(unit, char(ts1-ts2))差值 (按單位)VALUES TIMESTAMPDIFF(16, CHAR(CURRENT TIMESTAMP - TIMESTAMP('2024-01-01'))); → 經過天數

常用組合模式

-- 1. 當前月首日/末日
VALUES DATE(CURRENT TIMESTAMP - (DAY(CURRENT TIMESTAMP)-1) DAYS);  -- 首日
VALUES LAST_DAY(CURRENT DATE);  -- 末日 (V9.7+)

-- 2. 索引友好範圍查詢 (避免函數列)
WHERE CREATE_TIME >= '2024-01-01' AND CREATE_TIME < '2024-02-01'
-- 而非 WHERE MONTH(CREATE_TIME)=1

-- 3. 日期差天數 (整數)
VALUES DAYS(CURRENT DATE) - DAYS(DATE('2024-01-01'));

-- 4. 格式化導出
SELECT VARCHAR_FORMAT(CREATE_TIME, 'YYYYMMDDHH24MISS') FROM ORDERS;

兼容性備註

  • TO_CHAR/TO_DATE 為 Oracle 兼容別名
  • LAST_DAY V9.7+ 引入
  • 時區感知:CURRENT TIMESTAMP WITH TIME ZONE (V11.1+)

打印收藏,開發調試隨手查,告別日期時間處理低效與錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
代碼單位代碼單位
1微秒64月
2秒128季
4分256年
8時32周
16天