zoukankan      html  css  js  c++  java
  • extract()函数:用于从一个date或者interval类型中截取到特定的部分

    extract()函数:用于从一个date或者interval类型中截取到特定的部分
    ### extract 语法
    extract (
    { year | month | day | hour | minute | second }
    | { timezone_hour | timezone_minute }
    | { timezone_region | timezone_abbr }
    from { date_value | interval_value } )

    ---只可以从一个date类型中截取年月日
    select extract (year from sysdate) year, extract (month from sysdate) month, extract (day from sysdate) day from dual;
    select extract (year from date '2015-05-04') year, extract (month from date'2015-05-04') month, extract (day from date '2011-05-04') day from dual;
    ---从timestamp中获取年月日时分秒
    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
    ---获取两个日期之间的具体时间间隔,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)

    ### Interval 语法
    interval '{ integer | integer time_expr | time_expr }'
    { { day | hour | minute } [ ( leading_precision ) ]
    | second [ ( leading_precision [, fractional_seconds_precision ] ) ] }
    [ to { day | hour | minute | second [ (fractional_seconds_precision) ] } ]
    leading_precision值的范围是0到9, 默认是2. time_expr的格式为:hh[:mi[:ss[.n]]] or mi[:ss[.n]] or ss[.n], n表示微秒.
    范围值:
    hour: 0 to 23
    minute: 0 to 59
    second: 0 to 59.999999999
    ---eg:
    select extract(year from interval '21' year) year from dual;
    select extract(hour from interval '400 5' day(3) to hour ) hour from dual;
    interval '4 5:12:10.222' day to second(3) 表示: 4天5小时12分10.222秒
    interval '4 5:12' day to minute 表示: 4天5小时12分
    interval '400 5' day(3) to hour 表示: 400天5小时, 400为3为精度,所以"day(3)", 注意默认值为2.
    interval '400' day(3) 表示: 400天
    interval '11:12:10.2222222' hour to second(7) 表示: 11小时12分10.2222222秒
    interval '11:20' hour to minute 表示: 11小时20分
    interval '10' hour 表示: 10小时
    interval '10:22' minute to second 表示: 10分22秒
    interval '10' minute 表示: 10分
    interval '4' day 表示: 4天
    interval '25' hour 表示: 25小时
    interval '40' minute 表示: 40分
    interval '120' hour(3) 表示: 120小时
    interval '30.12345' second(2,4) 表示: 30.1235秒, 因为该地方秒的后面精度设置为4, 要进行四舍五入.
    interval '20' day - interval '240' hour = interval '10-0' day to second 表示: 20天 - 240小时 = 10天0秒

  • 相关阅读:
    asp.net jquery+ajax异步刷新1
    Android自定义组合控件:UIScrollLayout(支持界面滑动及左右菜单滑动)
    南京三星面试准备1--字符串
    如何有效的设立目标
    MySQL 主主复制
    POJ 2914 Minimum Cut 最小割算法题解
    openstack中虚拟机怎么与物理机通信
    SpringMVC+Spring+Mybatis+Mysql项目搭建
    Android面试准备 第二天 第五例 数据存储
    COCOS2D-X 3.0在MAC下创建新IOS项目:
  • 原文地址:https://www.cnblogs.com/zfox2017/p/10794262.html
Copyright © 2011-2022 走看看