博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle extract 函数简介
阅读量:4928 次
发布时间:2019-06-11

本文共 1929 字,大约阅读时间需要 6 分钟。

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(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;

结果:
     YEAR      MONTH               DAY           hour               MINUTE       SECOND            TH     TM      TR       TA  
---------- ---------- ----------  -------    ---------- ----------  ------ ------ --------- ----------  
      2018      9         28       14             13     38.757618     0      0     UNKNOWN   UNK  
 
        //获取年月日
  1. select extract(year from sysdate) from dual; //获取当前年度
  2. select extract(month from sysdate) from dual;//获取当前月份
  3. select extract(day from sysdate) from dual ;//获取日
  4. select extract(year from sysdate)+1 from dual; //获取下一年度

转载于:https://www.cnblogs.com/weiyi1314/p/9718343.html

你可能感兴趣的文章
redis
查看>>
likely() 和 unlikely()
查看>>
03一些View总结
查看>>
每月一次,免费领取小米云服务会员
查看>>
MapReduce--平均分,最高,低分以及及格率的计算
查看>>
mac下管理论文的工具
查看>>
POJ3122Pie(二分)
查看>>
114. Flatten Binary Tree to Linked List
查看>>
WF+WCF+WPF第二天--模拟超市收银
查看>>
爬取贴吧好看的桌面图片 -《狗嗨默示录》-
查看>>
Bellman-Ford
查看>>
[转]这13个开源GIS软件,你了解几个?
查看>>
Shell批量启动、关闭tomcat
查看>>
C++成员函数的重载、覆盖与隐藏【转载】
查看>>
网站开发技能图谱
查看>>
4.27随笔
查看>>
CSS实例:图片导航块
查看>>
poj1860 Currency Exchange(spfa判断正环)
查看>>
SQL CHECK 约束&Case when 的使用方法
查看>>
[整理]HTTPS和SSL证书
查看>>