• 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);

  • 相关阅读:
    bzoj 1069 凸包+旋转卡壳
    bzoj 3203 凸包+三分
    bzoj 3779 重组病毒 好题 LCT+dfn序+线段树分类讨论
    bzoj 3881 [Coci2015]Divljak fail树+树链的并
    bzoj 4034 [HAOI2015]树上操作 入栈出栈序+线段树 / 树剖 维护到根距离和
    bzoj 2819 Nim dfn序+树状数组维护区间异或值
    bzoj 4031 [HEOI2015]小Z的房间 Matrix-tree定理
    BZOJ3676: [Apio2014]回文串
    BZOJ2434: [Noi2011]阿狸的打字机
    BZOJ2553: [BeiJing2011]禁忌
  • 原文地址:https://www.cnblogs.com/LuckyZLi/p/12844869.html
Copyright © 2020-2023  润新知