oracle日期加减返回值,oracle日期加减计算

oracle数据库中有多种对日期加减的计算方法,废话很少说,开始。sql

一、直接加减。数据库

(1)求当前时间及一天后:oracle

select sysdate,sysdate + 1 from dual; 输出为:

2018-1-24 14:05:192018-1-25 14:05:19

(2

)求当前时间及一小时后:

select sysdate,sysdate + 1/24 from dual;

输出为:

2018-1-24 14:07:452018-1-24 15:07:45

求分钟及秒只要作相应除法便可。

不过此种方法不能作月的加减,由于每个月的天数不同。函数

二、用函数add_months。spa

(1)求当前时间及一年后:code

select sysdate,add_months(sysdate,1*12) from dual;

输出为:

2018-1-24 14:11:032019-1-24 14:11:03

(2)求当前时间及一月后:class

select sysdate,add_months(sysdate,1) from dual;

输出为:

2018-1-24 14:11:032018-2-24 14:11:03

一样,此方法不能作天及更小的时间加减,由于每个月天数不同的缘由。

三、使用numtoyminterval(发音:num to Y M interval)或numtodsinterval(发音:num to D S interval)函数。date

(1)求当前时间及一年后:select

select sysdate,sysdate + numtoyminterval(1,'year') from dual;

输出为:

2018-1-24 14:32:342019-1-24 14:32:34

(2)求当前时间及一月后:

select sysdate,sysdate + numtoyminterval(1,'month') from dual;

输出为:

2018-1-24 14:33:492018-2-24 14:33:49

(3)求当前时间及一天后:

select sysdate,sysdate + numtodsinterval(1,'day') from dual;

输出为:

2018-1-24 14:34:522018-1-25 14:34:52

(4

)求当前时间及一小时

后:

select sysdate,sysdate + numtodsinterval(1,'hour') from dual;

输出为:

2018-1-24 14:35:472018-1-24 15:35:47

(5

)求当前时间及一分钟

后:

select sysdate,sysdate + numtodsinterval(1,'minute') from dual;

(6)求当前时间及一秒后:

select sysdate,sysdate + numtodsinterval(1,'second') from dual; 相比而言,第三种函数功能仍是比较强大的,可是拼写字母太多,用的比较少,毕竟前两种已经够用了。

你可能感兴趣的:(oracle日期加减返回值)