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 } )  
//我们只可以从一个date类型中截取 year,month,day(date日期的格式为yyyy-mm-dd);  
//我们只可以从一个 timestamp with time zone 的数据类型中截取TIMEZONE_HOUR和TIMEZONE_MINUTE;  
select extract(year from date'2011-05-17') year from dual;  
      YEAR  
----------  
      2011  
select extract(month from date'2011-05-17') month from dual;  
     MONTH  
----------  
         5  
select extract(day from date'2011-05-17') day from dual;  
       DAY  
----------  
        17  
//获取两个日期之间的具体时间间隔,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);

/  
       DAY       HOUR     MINUTE     SECOND  
---------- ---------- ---------- ----------  
       102          4          1         46  
--  

select extract(year from systimestamp) year
,extract(month from systimestamp) month
,extract(day from systimestamp) day
,extract(hour from systimestamp) hour
,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;

结果:
     YEAR      MONTH               DAY           hour               MINUTE       SECOND            TH     TM      TR       TA  
---------- ---------- ----------  -------    ---------- ----------  ------ ------ --------- ----------  
      2018      9         28       14             13     38.757618     0      0     UNKNOWN   UNK  
 
        //获取年月日
  1. select extract(year from sysdate) from dual; //获取当前年度
  2. select extract(month from sysdate) from dual;//获取当前月份
  3. select extract(day from sysdate) from dual ;//获取日
  4. select extract(year from sysdate)+1 from dual; //获取下一年度

最新文章

  1. 标准盒模型与IE盒模型之间的转换
  2. osgi 命令
  3. Python和VS
  4. 无递归 A星寻路算法
  5. js 获取前天、昨天、今天、明天、后天的时间
  6. Yii Framework2.0开发教程(10)配合mysql数据库实现用户登录
  7. 纯CSS实现箭头、气泡让提示功能具有三角形图标(简单实例)
  8. fullpage.js的easing参数怎样配置自定义动画
  9. qt之fiddler抓包
  10. 支付宝支付demo(亲测)
  11. 小程序之带参数跳转到tab页
  12. MySQL 5.7自定义安装图文详解
  13. docker往阿里云推镜像和打包镜像
  14. eclipse 基础快捷键。
  15. python的assert关键字用法
  16. 微信小程序http 400问题
  17. Mashmokh and Numbers CodeForces - 415C
  18. JAVA 并发编程学习(2)之基本概念
  19. BZOJ4247 : 挂饰
  20. NFC手机上基于软件的卡模拟 重大利好还是安全噩梦?(转)

热门文章

  1. Android 基于帧布局实现一个进度条 FrameLayout+ProgressBar
  2. (转)关于android设备管理器的一些分析
  3. Deploying Cloud Foundry on OpenStack Juno and XenServer (Part II)
  4. [SQL] 理解SQL SERVER中的逻辑读,预读和物理读
  5. 微信小程序 --- action-sheet底部弹框
  6. apache+tomcat实现session共享
  7. Linux定时检测内存,若使用率超过指标,重启Tomcat并清空内存
  8. MVC之LayOut布局页
  9. HDU 6016 Count the Sheep
  10. 每次收到的 HTTP 请求,就可以打开一个 SqlSession,返回一个响应,就关闭它