Oracle时间函数使用大全
Oracle数据库提供了一系列的时间函数,这些函数可以帮助我们进行日期和时间的处理。以下是一些常用的Oracle时间函数及其使用示例:
- SYSDATE: 返回当前系统日期和时间。
SELECT SYSDATE FROM dual;
- CURRENT\_DATE: 返回当前会话时区中的当前系统日期。
SELECT CURRENT_DATE FROM dual;
- TRUNC: 返回截断到指定部分的日期或时间值。
-- 截断到天
SELECT TRUNC(SYSDATE) FROM dual;
-- 截断到月
SELECT TRUNC(SYSDATE, 'MM') FROM dual;
- NEXT\_DAY: 返回给定日期后的下一个指定weekday的日期。
SELECT NEXT_DAY(SYSDATE, '星期一') FROM dual;
- LAST\_DAY: 返回给定日期所在月份的最后一天的日期。
SELECT LAST_DAY(SYSDATE) FROM dual;
- EXTRACT: 返回日期或间隔值的字段值。
-- 获取当前年份
SELECT EXTRACT(YEAR FROM SYSDATE) FROM dual;
-- 获取当前月份
SELECT EXTRACT(MONTH FROM SYSDATE) FROM dual;
- INTERVAL: 用于表示一段时间的数据类型。
-- 表示5天
SELECT INTERVAL '5' DAY FROM dual;
-- 表示3个月
SELECT INTERVAL '3' MONTH FROM dual;
- NUMTODSINTERVAL: 将数字转换为时间间隔。
-- 转换为天
SELECT NUMTODSINTERVAL(5, 'DAY') FROM dual;
-- 转换为小时
SELECT NUMTODSINTERVAL(2, 'HOUR') FROM dual;
- ADD\_MONTHS: 在日期上添加或减去月数。
-- 添加月数
SELECT ADD_MONTHS(SYSDATE, 5) FROM dual;
- MONTHS\_BETWEEN: 返回两个日期之间的月数。
SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('2022-01-01', 'YYYY-MM-DD')) FROM dual;
- TO\_CHAR: 将日期或数字转换为字符串。
-- 转换日期为字符串
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual;
- TO\_DATE: 将字符串转换为日期。
-- 转换字符串为日期
SELECT TO_DATE('2023-04-01', 'YYYY-MM-DD') FROM dual;
- NEW\_TIME: 返回转换到新时区后的日期和时间。
SELECT NEW_TIME(SYSDATE, 'PDT') FROM dual;
这些函数可以帮助你在Oracle数据库中处理日期和时间数据。记得根据你的Oracle版本和特定的数据库配置,某些函数的行为可能会有所不同。
评论已关闭