| 分類 | 函數 / 語法 | 說明 | 示例 |
| 當前值 | 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'))); → 經過天數 |
單位編碼速查 (TIMESTAMPDIFF)
| 代碼 | 單位 | 代碼 | 單位 |
| 1 | 微秒 | 64 | 月 |
| 2 | 秒 | 128 | 季 |
| 4 | 分 | 256 | 年 |
| 8 | 時 | 32 | 周 |
| 16 | 天 | | |
常用組合模式
-- 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+)
打印收藏,開發調試隨手查,告別日期時間處理低效與錯誤。
- 上一篇文章: IBM 高調反擊 Oracle 口水戰:DB2 技術實力與整合平台戰略的正本清源
- 下一篇文章: DB2 入門必讀:常用命令大全分類速查 (CLP、實例、備份、安全、監控)
Copyright ©
程式碼之家 All Rights Reserved