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秒

extract()函数:用于从一个date或者interval类型中截取到特定的部分的更多相关文章

  1. oracle中extract()函数----用于截取年、月、日、时、分、秒

    oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 语法如下: extract ( { year | month | day ...

  2. oracle Extract 函数

    //oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分   //语法如下:   EXTRACT (           { Y ...

  3. oracle extract函数

    oracle Extract 函数 //oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分   //语法如下:   EXTRA ...

  4. oracle extract 函数简介

    oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分   //语法如下:   EXTRACT (           { YEA ...

  5. extract函数的使用

    EXTRACT(field FROM source) extract函数从日期/时间数值里抽取子域,比如年.小时等. source必须是一个timestamp, time, interval类型的值表 ...

  6. MySQL EXTRACT() 函数

    定义和用法 EXTRACT() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等. 语法 EXTRACT(unit FROM date) date 参数是合法的日期表达式.unit 参 ...

  7. Oracle日期格式化以及extract函数的使用

    由于业务需要,这两天在学习Oracle,发现Oracle里面的日期它会给你转成一种很不习惯的格式,于是想着怎么样把它弄成年.月.日的格式来显示,查资料.看文档,最终找到解决办法了,其实是用到了to_c ...

  8. 判断一个点是否在RotatedRect中

    openCV函数pointPolygonTest(): C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measur ...

  9. off() 方法 与 unbind() 方法移除绑定事件的处理程序。one()函数用于为每个匹配元素的一个或多个事件绑定一次性事件处理函数

    off() 方法移除用.on()绑定的事件处理程序. unbind() 方法移除用.bind()绑定的事件处理程序. 从 jQuery 1.7开始, .on() 和 .off()方法是最好的元素上附加 ...

随机推荐

  1. Navicat premium查看数据库表中文注释的两种方式

    有时候我需要查看数据库表中文注释,来确定每个表存的是哪个模块的数据,确保测试时对数据库查询操作无误. 这个操作我忘记了,此处做一个记录 方式一:通过sql语句来,前提是你知道是哪个表,这种方式不容易改 ...

  2. UOJ#400. 【CTSC2018】暴力写挂 边分治 线段树合并

    原文链接 www.cnblogs.com/zhouzhendong/p/UOJ400.html 前言 老年选手没有码力. 题解 先对第一棵树进行边分治,然后,设点 x 到分治中心的距离为 $D[x]$ ...

  3. 多个List 或 Array 进行 合并

    1.调用 var aaa = new List<string>() { "0" }; var a1 = new List<string>() { " ...

  4. Java 死锁以及死锁的产生

    public class DeadLockSample { public static void main(String[] args) { DeadLock d1 = new DeadLock(tr ...

  5. 怎么根据id匹配到名字?

    下拉框---(ps:为了不泄漏隐私,只能截出来一丢丢) table某两列--- 在下拉框是有调渠道的接口,但是table中只获取到了一个id,并没有渠道名称 1.首先获取到那个接口,将mapForCh ...

  6. ubuntu之路——day3(本来打算做pytorch的练习 但是想到前段时间的数据预处理的可视化分析 就先总结一下)

    首先依托于一个场景来进行可视化分析 直接选了天池大数据竞赛的新人赛的一个活跃题目 用的方式也是最常用的数据预处理方式 [新人赛]快来一起挖掘幸福感!https://tianchi.aliyun.com ...

  7. 深度学习面试题07:sigmod交叉熵、softmax交叉熵

    目录 sigmod交叉熵 Softmax转换 Softmax交叉熵 参考资料 sigmod交叉熵 Sigmod交叉熵实际就是我们所说的对数损失,它是针对二分类任务的损失函数,在神经网络中,一般输出层只 ...

  8. Seurat V3.0

    最新版V3文档:https://satijalab.org/seurat/vignettes.html 不要再用V2的版本了,V3已经涵盖了V2所有的功能. 最新版3.0已经发布了,有重大更新,以前的 ...

  9. win7 激活码 秘钥

    019.06最新windows7旗舰版系统激活码: 目前市面上的win7旗舰版激活码大部分都已经过期或失效了,下面来分享一些最新的. win7旗舰版激活密钥: BG2KW-D62DF-P4HY6-6J ...

  10. onenote架设在局域网服务器

    1.服务器端工作 1.1.在局域网服务器磁盘建个 文件夹,命名为 abc 1.2.右键共享,添加用户everyone 权限设置为可读写 不需要安装onenote 2.客户端工作 2.1.在客户端服务器 ...