`
lkj107
  • 浏览: 108464 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 时间差

阅读更多

//计算毫秒差(两个date类型的相减为天数差别,然后转换为毫秒)

select ceil(to_date('209-11-17 13:00:12','yyyy-mm-dd hh24:mi-ss')-to_date(2009-11-18 14:00:12','yyyy-mm-dd hh24:mi-ss') )from dual;

//计算相差月份

select (EXTRACT(year from to_date('209-11-17','yyyy-mm-dd'))-EXTRACT(year fromto_date('2009-11-18','yyyy-mm-dd') ))*12+(EXTRACT(month from to_date('209-11-17','yyyy-mm-dd'))-EXTRACT(month fromto_date('2009-11-18','yyyy-mm-dd') ))from dual;

//通过时间戳运算

select to_timestamp('2009-11-17 19:20:12 234','yyyy-mm-dd hh24:mi:ss ff')-to_timestamp('2009-11-16 11:12:34 167','yyyy-mm-dd hh24:mi:ss ff') from dual;

返回值为+000000010 00:02:24.00000000 字符串要转换为毫秒数字,自定义函数实现

//自定义用时间戳运算函数

create or replace function TIME_INTERVAL(endTime varchar2,startTime varchar2)

return number

IS

p_1 varchar2(40);

begin

p_1 := to_timestamp(endTime,'yyyy-mm-dd hh24:mi:ss ff')-to_timestamp(startTime,'yyyy-mm-dd hh24:mi:ss ff');

return trunc(to_number(substr((p_1),1,instr(p_1,' '))))*24*60*60+to_number(substr((p_1),instr((p_1),' ')+1,2))*60*60+to_number(substr((p_1),instr((p_1),' ')+4,2))*60+to_number(substr((p_1),instr((p_1),' ')+7,2));

end;

分享到:
评论

相关推荐

    oracle时间差表达式

    ### Oracle时间差表达式详解 在Oracle数据库中,计算两个日期之间的时间差是一个常见的需求,尤其是在处理业务逻辑或数据报告时。本篇文章将详细介绍如何利用Oracle内置函数来精确计算两个日期之间的差值,并且能够...

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

    在Oracle数据库中,计算两个日期之间的时间差是一个常见的需求,特别是在处理与时间相关的业务逻辑时。根据提供的信息,本文将详细介绍如何使用SQL语句来获取两个时间(`START_DATE`和`END_DATE`)之间的差值,并...

    Oracle 计算非工作时间.sql

    Oracle 计算非工作时间(去除周末,自定义节假日,等待时间)

    sql查询oracle时间段操作

    在"查询oracle时间段操作.txt"文件中,可能包含了具体的SQL查询示例、快照创建步骤和闪回功能的使用指南,以及关于如何有效利用这些工具进行数据恢复和分析的详细说明。阅读这份文件将进一步加深你对Oracle时间段...

    oracle返回相差的天数

    - **精度问题**: Oracle中的日期数据类型支持到秒的精度,但在计算日期差时,默认仅返回天数差。 - **NULL值处理**: 如果输入的日期字符串为NULL,则`TO_DATE`函数将返回NULL值。 ### 三、实际应用场景示例 假设有...

    Oracle时间区间段合并.pdf

    本问题涉及的PDF文档“Oracle时间区间段合并.pdf”似乎提供了关于如何使用SQL来实现这一功能的方法。以下是对这个算法的详细解释: 首先,我们需要理解数据结构。在这个例子中,我们有一个名为`TAB_0`的表,包含`...

    oracle时间和秒之间相互转换

    1. **计算时间差**:首先,我们需要计算当前时间与1970-01-01之间的差值。 2. **转换为毫秒**:接着,我们将这个差值转换为毫秒。 具体实现如下: ```sql SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS ...

    Oracle计算时间差常用函数

    Oracle数据库系统在处理日期和时间数据时提供了丰富的函数,这些函数对于计算时间差至关重要。在Oracle中,Date类型的字段可以用来存储日期和时间信息。本文将详细介绍如何使用Oracle的内置函数来计算两个Date类型...

    使用oracle计算系统当前时间的毫秒数

    2. **转换为自1970年1月1日以来的天数**:接着将`SYSDATE`减去1970年1月1日(使用`TO_DATE`函数)得到的结果表示的是自1970年1月1日至当前日期的时间差(单位是天)。 3. **转换为毫秒数**:由于一天有86400秒,而...

    oracle时间函数

    Oracle时间函数是数据库管理中非常关键的一部分,特别是在处理与日期和时间相关的数据时。在Oracle数据库中,时间函数允许我们进行各种操作,如获取当前日期和时间、计算日期之间的差异、调整日期以及按特定周期对...

    在Oracle9i中Oracle DATA计算时间差

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

    使用Oracle中的时间间隔型数据

    在Oracle数据库中,时间间隔型数据(INTERVAL)的...总的来说,Oracle的时间间隔型数据提供了对时间跨度的精确管理和计算,极大地简化了涉及时间差的操作,使得在数据库中处理时间相关的业务逻辑变得更加方便和准确。

    oracle变化数据捕获

    这种方式存在一定的延迟,因为数据提交和写入日志之间存在时间差。 - **创建异步HotLog模式**:需要设置ChangeTable来存储变化数据。通过LGWR进程将提交的事务记录到在线重做日志文件中,并自动填充到ChangeTable中...

    oracle 中时间使用

    基础时间日期的获取,平日自己存储的知识点,需要的获取时间断 或者 时间差的时候,用来查询

    oracle中TIMESTAMP与DATE比较

    此外,当需要计算两个`DATE`类型值之间的时间差时,Oracle默认返回的结果是以天为单位的浮点数。这意味着如果需要获取具体的小时、分钟和秒数,还需要额外的转换步骤。例如,可以通过乘以一天的秒数(86400秒)并...

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

    在Oracle数据库中,计算时间差通常涉及到日期和时间的运算,特别是当需要精确到毫秒级别时,操作就显得相对复杂。Oracle提供了多种函数来处理日期和时间数据,如TO_DATE和TO_TIMESTAMP,但它们的功能有限,无法直接...

    oracle日期时间数据类型与时间间隔数据类型讲解

    - **说明**: 用于表示两个日期或时间点之间的时间差。 - **参数**: - `INTERVAL YEAR(year_precision) TO MONTH`: 存储年和月的时间间隔。 - `year_precision`: 指定年份整数位数,最大9位,默认2位。 - `...

    pg与oracle语法差异

    - **Oracle**: 使用 `SYSDATE` 获取当前系统日期时间,可以通过 `TO_CHAR` 函数将其格式化。 - **PostgreSQL**: 使用 `CURRENT_DATE` 或 `CURRENT_TIMESTAMP` 获取当前日期或日期时间,并通过 `TO_CHAR` 函数进行...

    Oracle中实现datadiff函数

    然而,在Oracle中我们可以通过自定义函数的方式实现类似的功能,即计算两个日期之间的时间差。 #### 实现方法 为了在Oracle中模拟`DATEDIFF`功能,我们可以创建一个用户定义的函数。下面将详细介绍如何创建和使用...

    oracle查询相邻上下行值

    ### Oracle 查询相邻上下行值 #### 背景与需求 在处理时间序列数据或具有某种排序的数据时,经常需要查询某一行记录与其相邻行(前一行或后一行)的数据。这种需求在财务分析、时间序列分析等领域非常常见。例如,...

Global site tag (gtag.js) - Google Analytics