`

在Oracle中计算时间差

阅读更多
在Oracle中计算时间差

计算时间差是Oracle DATA数据类型的一个常见问题。Oracle支持日期计算,你可以创建诸如“日期1-日期2”这样的表达式来计算这两个日期之间的时间差。


一旦你发现了时间差异,你可以使用简单的技巧来以天、小时、分钟或者秒为单位来计算时间差。为了得到数据差,你必须选择合适的时间度量单位,这样就可以进行数据格式隐藏。


使用完善复杂的转换函数来转换日期是一个诱惑,但是你会发现这不是最好的解决方法。

round(to_number(end-date-start_date))- 消逝的时间(以天为单位)

round(to_number(end-date-start_date)*24)- 消逝的时间(以小时为单位)

round(to_number(end-date-start_date)*1440)- 消逝的时间(以分钟为单位)


显示时间差的默认模式是什么?为了找到这个问题的答案,让我们进行一个简单的SQL *Plus查询。

SQL> select sysdate-(sysdate-3) from dual;

SYSDATE-(SYSDATE-3)

-------------------

3

这里,我们看到了Oracle使用天来作为消逝时间的单位,所以我们可以很容易的使用转换函数来把它转换成小时或者分钟。然而,当分钟数不是一个整数时,我们就会遇到放置小数点的问题。

Select
(sysdate-(sysdate-3.111))*1440
from
dual;

(SYSDATE-(SYSDATE-3.111))*1440

------------------------------

4479.83333

当然,我们可以用ROUND函数(即取整函数)来解决这个问题,但是要记住我们必须首先把DATE数据类型转换成NUMBER数据类型。

Select
round(to_number(sysdate-(sysdate-3.111))*1440)
from
dual;

ROUND(TO_NUMBER(SYSDATE-(SYSDATE-3.111))*1440)

----------------------------------------------

4480
分享到:
评论

相关推荐

    在Oracle9i中Oracle DATA计算时间差

    本文介绍了在Oracle9i中Oracle DATA计算时间差的方法。

    oracle时间差表达式

    oracle时间差表达式,计算两时间相差的天、小时、分钟、秒及毫秒数

    Oracle计算时间差常用函数

    主要介绍了Oracle计算时间差常用函数,涉及用法代码及示例,具有一定参考价值。需要的朋友可以了解下。

    Oracle里面 SQL语句 怎么得到两个时间的时间差

    可以帮助您学些Oracle,有两个日期数据START_DATE,END_DATE,欲得到这两个日期的时间差(以天,小时,分钟,秒,毫秒)

    Oracle_RAC安装配置指导书

    RAC,全称real application clusters,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。 RAC提供的优缺点: 优点  Oracle RAC主要...

    Oracle计算时间差为毫秒的实现代码

    Oracle 中我们知道用 TO_DATE 函数可以进行秒、分、时、天、月、年、周等时间差的计算,但是毫秒却不好计算,TO_DATE 函数只能精确到秒,毫秒则只能用 TO_TIMESTAMP 函数,但是这个函数不像 TO_DATE 这样直接减出来...

    oracle日期转换

    oracle中的日期转换,包括计算时间差,某月,最后一天等常见时间

    Oracle_Database_11g完全参考手册.part2

    他经常以贵宾身份出席在北美和欧洲举办的Oracle用户大会。 第ⅰ部分 关键的数据库概念  第1章 oracle database 11g 体系结构  第2章 安装oracle database 11g 和创建数据库  第3章 升级到oracle database 11g  ...

    Oracle_Database_11g完全参考手册.part5

    他经常以贵宾身份出席在北美和欧洲举办的Oracle用户大会。 第ⅰ部分 关键的数据库概念  第1章 oracle database 11g 体系结构  第2章 安装oracle database 11g 和创建数据库  第3章 升级到oracle database 11g  ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...

    计算2个日期相差天数、去除节假日周末

    拿去可以直接用的计算2个日期间相差天数,并过滤了节假日和周末。

    oracle函数大全.doc

    给出在this时区=other时区的日期和时间 SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time 2 (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual; BJ_TIME LOS_...

    Oracle_Database_11g完全参考手册.part3

    他经常以贵宾身份出席在北美和欧洲举办的Oracle用户大会。 第ⅰ部分 关键的数据库概念  第1章 oracle database 11g 体系结构  第2章 安装oracle database 11g 和创建数据库  第3章 升级到oracle database 11g  ...

    Oracle_Database_11g完全参考手册.part4

    他经常以贵宾身份出席在北美和欧洲举办的Oracle用户大会。 第ⅰ部分 关键的数据库概念  第1章 oracle database 11g 体系结构  第2章 安装oracle database 11g 和创建数据库  第3章 升级到oracle database 11g  ...

    通过Oracle的缓冲区内部机制调整性能

    要利用完全数据缓冲的优势,就要记住从内存取回数据块和从磁盘取回数据块的时间差。对磁盘的访问时间是以毫秒或者说千分之一秒来计算的,而内存的速度是以纳秒或者说十亿分之一秒来计算的。因此内存的访问速度要快三...

    计算两个日期相隔天数并减去节假日

    计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等

    MYSQL,SQLSERVER,ORACLE常用的函数

    给出在this时区=other时区的日期和时间 SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time 2 (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual; BJ_TIME ...

    racle_Database_11g完全参考手册.part1

    他经常以贵宾身份出席在北美和欧洲举办的Oracle用户大会。 第ⅰ部分 关键的数据库概念  第1章 oracle database 11g 体系结构  第2章 安装oracle database 11g 和创建数据库  第3章 升级到oracle database 11g  ...

    人大金仓KingbaseES V7参考手册

    就是chm的手册,人大金仓的。手册我经常用,相比比较成熟的oracle、mysql手册差点意思,常用方法可参考,自定义函数什么的,请参考postgresql

Global site tag (gtag.js) - Google Analytics