Welcome 微信登录

首页 / 数据库 / MySQL / Oracle EXTRACT()函数

//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  
//   Oracle中的INTERVAL数据类型详解Oracle的行列转换相关资讯      Oracle函数 
  • Oracle字符串函数总结  (06月20日)
  • Oracle lag()与lead() 函数  (12/01/2015 20:41:24)
  • Oracle ascii函数  (07/26/2015 08:46:01)
  • Oracle使用简单函数  (06月09日)
  • REGEXP_SUBSTR函数的整理  (08/20/2015 20:41:01)
  • Oracle dump函数  (07/26/2015 08:40:01)
本文评论 查看全部评论 (1)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款