博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 计算两个时间的差值
阅读量:7009 次
发布时间:2019-06-28

本文共 1220 字,大约阅读时间需要 4 分钟。

有两个日期数据START_DATE,END_DATE,欲得到这两个日期的时间差(以天,小时,分钟,秒,毫秒):

天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小时:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分钟:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 60)

 

取得与系统时间相差某一个范围的时间值的记录的写法,举例:

select * from TELEPHONE_BOOK where ROUND(TO_NUMBER(SYSDATE - BOOK_DATE) * 24) between 72 and 96

获得与系统时间相差大于72小时小于96小时的记录。 

 

--天的间隔

SELECT FLOOR(SYSDATE - TO_DATE('20110805', 'yyyyMMdd')) FROM DUAL;

   

--获得相隔时间的相差天数

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;

 

--获得相隔时间的相差小时数

SELECT CEIL((TO_DATE('2008-06-02 10: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;

 --获得相隔时间的相差分钟数
SELECT CEIL(((TO_DATE('2008-05-12 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;
  
--获得相隔时间的相差秒数
SELECT CEIL((TO_DATE('2011-08-16 14:03:20', 'yyyy-mm-dd hh24-mi-ss') -
            TO_DATE('2011-08-16 11:00:20', 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒数
  FROM DUAL;

转载地址:http://sfttl.baihongyu.com/

你可能感兴趣的文章
Exchange Server 2013 公网发布疑难解答
查看>>
mysql修改密码
查看>>
linux下的静态库和动态库分析
查看>>
2.1 Latches--锁存器 和 FlipFlops--触发器 part1
查看>>
fio 命令入门到跑路(千万不能在系统所在的分区测试硬盘性能)
查看>>
zabbix自动报警邮件正文变成附件问题解决
查看>>
第一篇博客
查看>>
豆瓣阿北:用户价值大于产品体验,通过产品做运营
查看>>
实验四 综合网络配置实验
查看>>
CentOS7安装iptables防火墙
查看>>
单播(unicast)、组播(multicast)、广播(broadcast)的区别
查看>>
如何快速查找局域网内ARP病毒源,防止ARP***
查看>>
数字加0方法
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
使用percona组织的xtrabackup实现mysql的数据备份
查看>>
weblogic监控小结
查看>>
利用clonezilla克隆、还原CentOS整个系统
查看>>
Citrix Universal Printer Server - From Citrix 廖天云
查看>>
Bootstrap3 栅格系统-嵌套列
查看>>