zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    [开源项目]蓝点无限TWR算法-多基站多标签固件
    [开源项目] 蓝点无限 UWB Python版本上位机
    记一次RabbitMQ的脑裂(网络分区)问题
    使用Docker持久化部署SQL Server
    .NET---Exceptionless 轻量级的分布式日志管理平台
    python性能测试工具locust
    Javascript —— 线转树 or 树转线
    记录一个生僻知识点 —— JS字符模板替换
    车证识别工具|行驶证识别工具|行驶证识别OCR工具免费版V3.0.0.0
    C# CAD 凹凸点识别最大轮廓
  • 原文地址:https://www.cnblogs.com/LuckyZLi/p/12844869.html
Copyright © 2011-2022 走看看