oracle 之Extract 函数

本文出自:http://www.cnblogs.com/zq281660880/archive/2012/11/09/2762179.html

原文:

//oracle中extract()函数从oracle 9i中引入,用于从一个 date 或者interval类型中截取到特定的部分  
//语法如下:  
EXTRACT (  
         { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND }  
         | { TIMEZONE_HOUR | TIMEZONE_MINUTE }  
         | { TIMEZONE_REGION | TIMEZONE_ABBR }  
FROM { date_value | interval_value } )  
//我们只可以从一个 date 类型中截取 year , month , day ( date 日期的格式为yyyy-mm-dd);  
//我们只可以从一个 timestamp with time zone 的数据类型中截取TIMEZONE_HOUR和TIMEZONE_MINUTE;  
select extract( year from date '2011-05-17' ) year from dual;  
       YEAR  
----------  
       2011  
select extract( month from date '2011-05-17' ) month from dual;  
      MONTH  
----------  
          5  
select extract( day from date '2011-05-17' ) day from dual;  
        DAY  
----------  
         17  
//获取两个日期之间的具体时间间隔,extract函数是最好的选择  
select extract( day from dt2-dt1) day  
       ,extract( hour from dt2-dt1) hour  
       ,extract( minute from dt2-dt1) minute  
       ,extract( second from dt2-dt1) second  
from (  
      select to_timestamp( '2011-02-04 15:07:00' , 'yyyy-mm-dd hh24:mi:ss' ) dt1  
            ,to_timestamp( '2011-05-17 19:08:46' , 'yyyy-mm-dd hh24:mi:ss' ) dt2  
      from dual)  
/  
        DAY       HOUR     MINUTE     SECOND  
---------- ---------- ---------- ----------  
        102          4          1         46  
--  
select extract( year from systimestamp) year  
       ,extract( month from systimestamp) month  
       ,extract( day from systimestamp) day  
       ,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  
/  
      YEAR      MONTH        DAY     MINUTE     SECOND         TH         TM TR         TA  
---------- ---------- ---------- ---------- ---------- ---------- ---------- --------- ----------  
       2011          5         17          7     14.843          8          0 UNKNOWN   UNK  
//  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值