欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle获取某一段时间间隔之后的日期

程序员文章站 2022-06-10 18:15:31
...

我们当然可以通过sysdate转换进行加减来操作,除了常规的方式之外,Oracle还提供了一种函数,这些函数可用于表示一段时间的间隔,

现在有如下几个需求:
1)显示距离现在1.5天之后的时间。
2)显示距离现在6个小时之后的时间。
3)显示距离现在6个月之后的时间。
4)显示距离现在10年之后的时间。

我们当然可以通过sysdate转换进行加减来操作,除了常规的方式之外,Oracle还提供了一种函数,,这些函数可用于表示一段时间的间隔,他们是NUMTODSINTERVAL和NUMTOYMINTERVAL。

1.5天之后的函数表示:NUMTODSINTERVAL(1.5,'day')

SELECT NUMTODSINTERVAL(1.5,'day') FROM DUAL;

结果如下:
NUMTODSINTERVAL(1.5,'DAY')
--------------------------------------
+000000001 12:00:00.000000000

6个小时之后的函数表示:NUMTODSINTERVAL(6,'hour')

SELECT NUMTODSINTERVAL(6,'hour') FROM DUAL;

结果如下:
NUMTODSINTERVAL(6,'HOUR')
----------------------------------------
+000000000 06:00:00.000000000

6个月之后的函数表示:NUMTOYMINTERVAL(6,'month')

SELECT NUMTOYMINTERVAL(6,'month') FROM DUAL;

结果如下:
NUMTOYMINTERVAL(6,'MONTH')
--------------------------------
+000000000-06

10年之后的函数表示:NUMTOYMINTERVAL(10,'year')

SELECT NUMTOYMINTERVAL(10,'year') FROM DUAL;

结果如下:
NUMTOYMINTERVAL(10,'YEAR')
--------------------------------------
+000000010-00

Oracle获取某一段时间间隔之后的日期