函数或操作 | 描述 | 示例 |
---|---|---|
SYSDATE | 返回当前日期和时间 | SELECT SYSDATE FROM dual; 返回值类似于 01-JAN-24 |
CURRENT_DATE | 返回当前日期,不包含时间部分 | SELECT CURRENT_DATE FROM dual; 返回值类似于 01-JAN-24 |
SYSTIMESTAMP | 返回当前的时间戳(包括时区) | SELECT SYSTIMESTAMP FROM dual; 返回值类似于 01-JAN-24 12.00.00.000000000 AM +00:00 |
ADD_DAYS | 向日期添加指定的天数 | SELECT ADD_DAYS(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 10) FROM dual; 返回 11-JAN-24 |
ADD_MONTHS | 向日期添加指定的月份数 | SELECT ADD_MONTHS(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 1) FROM dual; 返回 01-FEB-24 |
MONTHS_BETWEEN | 返回两个日期之间的月数差 | SELECT MONTHS_BETWEEN(TO_DATE('2024-01-01', 'YYYY-MM-DD'), TO_DATE('2023-01-01', 'YYYY-MM-DD')) FROM dual; 返回 12 |
NEXT_DAY | 返回下一个指定星期几的日期 | SELECT NEXT_DAY(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 'MONDAY') FROM dual; 返回下一个星期一的日期 |
LAST_DAY | 返回一个月的最后一天 | SELECT LAST_DAY(TO_DATE('2024-01-01', 'YYYY-MM-DD')) FROM dual; 返回 31-JAN-24 |
ROUND | 将日期四舍五入到最近的指定单位 | SELECT ROUND(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 'MONTH') FROM dual; 返回当月的第一天 |
TRUNC | 将日期截断到指定的单位 | SELECT TRUNC(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 'YEAR') FROM dual; 返回 01-JAN-24 |
TO_CHAR | 将日期转换为字符串 | SELECT TO_CHAR(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 'YYYY-MM-DD') FROM dual; 返回 '2024-01-01' |
TO_DATE | 将字符串转换为日期 | SELECT TO_DATE('2024-01-01', 'YYYY-MM-DD') FROM dual; 返回日期 01-JAN-24 |
EXTRACT | 从日期时间值中提取特定的部分(如年、月、日) | SELECT EXTRACT(YEAR FROM TO_DATE('2024-01-01', 'YYYY-MM-DD')) FROM dual; 返回 2024 |
-
日期加法:
SELECT TO_CHAR(ADD_DAYS(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 10), 'YYYY-MM-DD') FROM dual;
返回
'2024-01-11'
-
日期减法:
SELECT TO_CHAR(ADD_DAYS(TO_DATE('2024-01-01', 'YYYY-MM-DD'), -10), 'YYYY-MM-DD') FROM dual;
返回
'2023-12-22'
-
月份加法:
SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 1), 'YYYY-MM-DD') FROM dual;
返回
'2024-02-01'
-
获取月份差:
SELECT MONTHS_BETWEEN(TO_DATE('2025-01-01', 'YYYY-MM-DD'), TO_DATE('2024-01-01', 'YYYY-MM-DD')) FROM dual;
返回
12
-
获取下一个星期一的日期:
SELECT TO_CHAR(NEXT_DAY(TO_DATE('2024-01-01', 'YYYY-MM-DD'), 'MONDAY'), 'YYYY-MM-DD') FROM dual;
返回
'2024-01-08'
-
获取一个月的最后一天:
SELECT TO_CHAR(LAST_DAY(TO_DATE('2024-01-01', 'YYYY-MM-DD')), 'YYYY-MM-DD') FROM dual;
返回
'2024-01-31'