oracle 两个时间相减默认的是天数

oracle 两个时间相减默认的是天数*24 为相差的小时数

oracle 两个时间相减默认的是天数*24*60 为相差的分钟数

oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数

--MONTHS_BETWEEN(date2,date1) 
给出date2-date1的月份 
SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;

MON_BETWEEN 
----------- 
  9 
SQL>select months_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.dd')) mon_betw from dual;

MON_BETW 
--------- 
-60

Oracle计算时间差表达式

--获取两时间的相差豪秒数 
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL; 
/* 
相差豪秒数 
---------- 
  86401000 
1 row selected 
*/

--获取两时间的相差秒数 
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒数 FROM DUAL; 
/* 
相差秒数 
---------- 
     86401 
1 row selected 
*/

--获取两时间的相差分钟数 
select ceil(((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60)  相差分钟数 FROM DUAL; 
/* 
相差分钟数 
---------- 
      1441 
1 row selected 
*/

--获取两时间的相差小时数 
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24)  相差小时数 FROM DUAL; 
/* 
相差小时数 
---------- 
        25 
1 row selected 
*/

--获取两时间的相差天数 
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')))  相差天数 FROM DUAL; 
/* 
相差天数 
---------- 
         2 
1 row selected 
*/

---------------------------------------- 
注:天数可以2个日期直接减,这样更加方便 
----------------------------------------

--获取两时间月份差 
select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 + 
       EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months 
from dual; 
/* 
MONTHS 
---------- 
        13 
1 row selected 
*/

-------------------------------------- 
注:可以使用months_between函数,更加方便 
--------------------------------------

--获取两时间年份差 
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from dual; 
/* 
YEARS 
---------- 
         1

select sysdate,add_months(sysdate,12) from dual;  --加1年 
select sysdate,add_months(sysdate,1) from dual;   --加1月 
select sysdate,TO_CHAR(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1星期 
select sysdate,TO_CHAR(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1天 
select sysdate,TO_CHAR(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1小时 
select sysdate,TO_CHAR(sysdate+1/24/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1分钟 
select sysdate,TO_CHAR(sysdate+1/24/60/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1秒 
select   sysdate+7   from   dual;                     --加7天

壮士:留下你的点赞(评论)再走吧~~

oracle 日期计算函数 小时 分钟数相关推荐

  1. [转]ORACLE日期时间函数大全

    本文转自:http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html ORACLE日期时间函数大全 TO_DATE格式(以时间:2007 ...

  2. Oracle 日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)             Year:               yy two digits ...

  3. oracle日期处理函数

    为什么80%的码农都做不了架构师?>>>    oracle日期处理函数: 加法 select sysdate,add_months(sysdate,12) from dual;   ...

  4. ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digi

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)             Year:               yy two digits ...

  5. oracle 选时间到五月,oracle日期时间函数小结

    oracle日期时间函数总结 经常写 sql 的同学应该会接触到一些 oracle 的日期时间函数, 例如: 财务软件或者人力资源软件需要按照每年, 每季度, 每月, 甚至每个星期来进行统计. 今天闲 ...

  6. oracle日期计算

    oracle日期计算: 当前时间 sysdate 加一天 sysdate+1 加一个小时 sysdate +1/24 加一个星期 sysdate +7 加一个月 add_months(sysdate, ...

  7. Oracle日期操作函数

    文章目录 一.把日期转换为字符串 二.把字符串转换日期 三.日期运算 1.直接加减 2.add_months函数 3.last_day函数 4.其它的日期函数 四.日期环境变量 五.版权声明 Orac ...

  8. oracle+5秒钟一个间隔,ORACLE日期时间函数大全 (二)

    13.年月日的处理 select older_date, newer_date, years, months, abs( trunc( newer_date- add_months( older_da ...

  9. oracle sql中月份加1,sql日期有关函数以及oracle日期有关函数

    sql日期函数 -- DATEADD -- 在向指定日期加上一段时间的基础上,返回新的 datetime 值. -- DATEADD ( datepart , number, date ) -- 日期 ...

最新文章

  1. Matlab 非线性规划问题模型代码
  2. 洛谷 P1410 子序列(DP)
  3. Exp3 免杀原理与实践 20154320 李超
  4. pcb地线应该不应该做成环路_干货|图文详解EMC的PCB设计技术
  5. matlab工序能力分析,《MATLAB编程与系统仿真》课程考核说明
  6. Chapter 5 Exercises Problems
  7. Linux 修改系统编码
  8. 电池供电的电容麦_电容麦一定需要幻象电源吗 幻象电源的作用是什么
  9. 当拼多多开始打假 那么多“拼多多买家秀”竟都是假的?
  10. linux 多线程基础2
  11. 简单的 socket 代码
  12. 《Java程序员面试宝典(第4版)》试读感想
  13. jQuery超酷轻量级响应式lightbox插件
  14. 计算机跳过密码直接登录密码,win10免密码自动登录怎么设置_win10跳过密码直接登录电脑-win7之家...
  15. C语言实现通讯录(动态版)
  16. Twitter在15岁终于迎来蜕变
  17. HDU - 4960 Another OCD Patient 记忆化
  18. Token系列 - 加密猫智能合约源码分析
  19. Axure动态面板使用,简单的交互
  20. mjpeg-streamer移植

热门文章

  1. oracle的Oem中设置联合主键,oracle添加联合主键,oracle联合主键
  2. 双目测距原理与基于opencv的简单实现
  3. 随机盐值(salt)是什么?泄露会出什么问题?
  4. 如何做好营销推广方案?| 品牌营销
  5. 地址如何维护在配置文件中
  6. GRPC在k8s中的服务发现和负载均衡_traefik-ingress
  7. Vue之父传子,清晰易懂。
  8. CAN DBC解析自动生成C 信号 API代码
  9. 海马汽车经销商管理系统技术解析(十)预约配件资源释放
  10. 2017研究生乒乓球比赛记录