oracle数据加减运算操作实例介绍

日期和时间戳都可以添加和减去。

有三种方法来操作不同的时间类型,包括添加年份、月、日、时间、时间、分钟和秒到当前日期。

1使用内置函数numtodsinterval增加小时,分钟和秒

2添加一个简单的数字来增加一天。

3使用内置函数add_months的年份和月份的增加

例:

当前日期的一个小时:

复制代码代码如下所示:

SQL >选择系统日期、系统日期+ numtodsinterval(1,'hour)从双;

SYSDATE SYSDATE + numtodsinte

---- ----———

2010-10-14 21:38:19 2010-10-14 22:38:19



当前日期增加了50分钟。

复制代码代码如下所示:

SQL >选择系统日期、系统日期+ numtodsinterval(50,'minute)从双;

SYSDATE SYSDATE + numtodsinte

---- ----———

2010-10-14 21:39:12 2010-10-14 22:29:12



将当前日期增加45秒

复制代码代码如下所示:

SQL >选择系统日期、系统日期+ numtodsinterval(45,第二)从双;

SYSDATE SYSDATE + numtodsinte

---- ----———

2010-10-14 21:40:06 2010-10-14 21:40:51



将当前日期增加3天

复制代码代码如下所示:

SQL >选择系统日期、系统日期+ 3双;

SYSDATE SYSDATE + 3

---- ----———

2010-10-14 21:40:46的21:40:46



将当前日期增加4个月

复制代码代码如下所示:

SQL >选择sysdate,add_months(SYSDATE,4)从双;

add_months SYSDATE(SYSDATE,

---- ----———

2010-10-14 21:41:43 2011-02-14 21:41:43



目前的日期已经增加了2年。

复制代码代码如下所示:

SQL >选择sysdate,add_months(SYSDATE,12×2)从双;

add_months SYSDATE(SYSDATE,

---- ----———

2010-10-14 21:42:17 2012-10-14 21:42:17



时间戳的操作类似于时间戳。

寻找这两个日期的区别:

例如:在服务21:23:34和当前时间之间的差异。

复制代码代码如下所示:

SQL >选择sysdate-to_date('20070523 21:23:34 ','yyyy-mm-dd hh24:MI:SS)DT

二重的;

DT

———

一千二百四十点零一六二三



如果直接减去两个日期,结果是一个数据类型,我们可能希望以形式的形式获得两个相位差值:

***:***

复制代码代码如下所示:

SQL >选择numtoyminterval(months_between(DT1、DT2),月月,

2 numtodsinterval(1 -(add_months(DT2,trunc(months_between(DT1、DT2))

日,日)

3(选择sysdate 1,

4 to_date('20070523 21:23:34、yyyy-mm-dd hh24:MI:学生DT2)DT2

5双)

6;

我的一天

---- ----———

+ 00000000 + 0000000 21 15.999999999 00:40:推动力



That is: 3 years, 4 months and 21 days 00:40:15.99999999