ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle extract函数截取年月日时分秒

2020-05-07 18:53:53  阅读:319  来源: 互联网

标签:07 05 timestamp day 2020 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 } )

1. 获取年月日

--获取年月日写法一
select sysdate, 
       extract(year from sysdate) year,
       extract(month from sysdate) month, 
       extract(day from sysdate) day
  from dual;

--获取年月日写法二, 日期之间只能用"-"
select date'2020-05-07' dateCode, 
       extract(year from date'2020-05-07') year,
       extract(month from date'2020-05-07') month, 
       extract(day from date'2020-05-07') day
  from dual;

 

--获取年月日写法三
select sysdate,
       extract(year from systimestamp) year,
       extract(month from systimestamp) month,
       extract(day from systimestamp) day
from dual;

--获取年月日写法四,日期之间只能用"-"
select timestamp'2020-05-07 12:12:12',
       extract(year from timestamp'2020-05-07 18:19:12') year,
       extract(month from timestamp'2020-05-07 18:19:12') month,
       extract(day from timestamp'2020-05-07 18:19:12') day
from dual;

 2. 获取时分秒

--获取时分秒写法一
select extract(hour from cast(systimestamp as timestamp)) hour,
       extract(minute from systimestamp) minute,
       extract(second from systimestamp) second
  from dual;

--获取时分秒写法二
select extract(hour from timestamp'2020-05-07 18:19:12') hour,
       extract(minute from timestamp'2020-05-07 18:19:12') minute,
       extract(second from timestamp'2020-05-07 18:19:12') second
 from dual;

3. 获取两个日期之间的具体时间间隔,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);

 

标签:07,05,timestamp,day,2020,Oracle,extract,时分秒
来源: https://www.cnblogs.com/LuckyZLi/p/12844869.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有