Oracle入门精读80-Oracle时间间隔interval的操作(函数extract)

两个Date相减的结果是一个number。

两个timestamp相减的结果是一个INTERVAL值, 完整的年月日时分秒小数秒.

演示

SQL> create table test_timestamp2(time1 timestamp(9), time2 timestamp(9));

SQL> insert into test_timestamp2 values(to_timestamp('2019-02-09 11:41:10.100000','yyyy-mm-dd hh24:mi:ss.ff'),to_timestamp('2019-02-12 11:41:50.600000','yyyy-mm-dd hh24:mi:ss.ff'));

SQL> insert into test_timestamp2 values(systimestamp,systimestamp);

SQL>select to_char(time1, 'yyyy-mm-dd hh24:mi:ss.ff'), to_char(time2, 'yyyy-mm-dd hh24:mi:ss.ff')

from test_timestamp2;

SQL> select time2 - time1 from test_timestamp2;

相差3天0小时0分钟40.5秒

extrac函数获得时间的每个部分

SQL> select extract(day from time2-time1) day, extract(hour from time2 - time1) hour,

extract(minute from time2 - time1) minute,extract(second from time2 - time1) second from test_timestamp2;

 

从一个date类型中截取 year,month,day

date日期的格式为yyyy-mm-dd

SQL>select extract(year from date'2019-02-09') year from dual;

SQL>select extract(month from date'2019-02-09') month from dual;

SQL> select extract(day from date'2019-02-09') day from dual;

 

SQL> select extract(year from systimestamp) year 

      ,extract(month from systimestamp) month 

      ,extract(day from systimestamp) day 

      ,extract(hour from systimestamp) hour

      ,extract(minute from systimestamp) minute 

      ,extract(second from systimestamp) second 

      ,extract(timezone_hour from systimestamp) th  

      ,extract(timezone_minute from systimestamp) tm  

      ,extract(timezone_region from systimestamp) tr  

      ,extract(timezone_abbr from systimestamp) ta  

from dual

备注说明

sysdate      数据库服务器操作系统时间,显示不含时区(其实隐含了时区)。

systimestamp 数据库服务器操作系统时间以及时区

这两个函数的返回值不会受到客户端影响

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值