Oracle日期函数精华,高效处理时间数据,让数据管理更轻松

文章导读
SYSDATE:返回当前系统日期和时间。最简单直接的获取当前时间的方式。SELECT SYSDATE FROM DUAL; 当前日期就是SYSDATE返回的值。
📋 目录
  1. A 日期加减法
  2. B 月份加减
  3. C 日期截断
  4. D 日期格式化
  5. E 提取日期部分
  6. F 日期差
A A

SYSDATE:返回当前系统日期和时间。最简单直接的获取当前时间的方式。SELECT SYSDATE FROM DUAL; 当前日期就是SYSDATE返回的值。

日期加减法

日期 +/- 数字:数字代表天数。SELECT SYSDATE + 7 FROM DUAL; 今天加7天。SELECT SYSDATE - 30 FROM DUAL; 30天前。

月份加减

日期 + 数字/24/31:近似一个月。精确月份用 ADD_MONTHS。SELECT ADD_MONTHS(SYSDATE, 3) FROM DUAL; 三个月后。

日期截断

TRUNC(日期, '格式'):截取到指定单位。TRUNC(SYSDATE) 或 TRUNC(SYSDATE, 'DD'):当月第一天。TRUNC(SYSDATE, 'MM'):当月第一天。TRUNC(SYSDATE, 'YYYY'):当年第一天。

日期格式化

TO_CHAR(日期, '格式'):转字符串。SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; 2023-10-01 14:30:25。TO_DATE(字符串, '格式'):转日期。SELECT TO_DATE('2023-10-01', 'YYYY-MM-DD') FROM DUAL;

Oracle日期函数精华,高效处理时间数据,让数据管理更轻松

提取日期部分

EXTRACT(YEAR FROM 日期):提取年。EXTRACT(MONTH FROM 日期):月。SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; 2023。

日期差

日期1 - 日期2:返回天数差。SELECT SYSDATE - TO_DATE('2023-01-01', 'YYYY-MM-DD') FROM DUAL; 今天减2023-1-1的天数。

FAQ
Q: 如何获取当前日期?
A: 用 SYSDATE。
Q: 怎么加一个月?
A: ADD_MONTHS(SYSDATE, 1)。
Q: 日期转字符串?
A: TO_CHAR(日期, 'YYYY-MM-DD')。
Q: 计算两个日期差几天?
A: 日期1 - 日期2。