`
cjwxd126715
  • 浏览: 54622 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Oracle中Varchar 型数据 计算时间差

    博客分类:
  • DB
阅读更多

   在开发程序时,我们经常会遇到要计算从startTime到endTime的时间差,但这个记录时间差的字段是Varchar型的,这就需要先进行数据类型的转换才能达到目的:

 

   先来看看ORACLE系统时间的时间差计算方法:

SELECT

    SYSDATE,SYSDATE-500,

    TO_CHAR(SYSDATE,'yyyy')-

    TO_CHAR(SYSDATE-500,'yyyy')  AS YEAR2

FROM dual;

运行结果: YEAR2 : 2

 

    在ORACLE里日期直接相减就是相差天数,默认的单位是天,

要想计算别的计量单位,可以把DATE进行日期格式化,这样就能

得到你想的计量结果了:

 

    SELECT   (
                    TRUNC ( TO_DATE('2009-02-24 19:30','YYYY-MM-DD HH24:MI'),'MI') -
                    TRUNC ( TO_DATE('2009-02-23 19:30','YYYY-MM-DD HH24:MI'),'MI')
                     ) * 24*60   
    FROM  dual;

运行结果: 1440 

    

 

    从计算DATE型日期之间的时间差得到启发, 只需要先进行数据类型的转换,再进行日期格式化就OK了:

 

- 消逝的时间(以天为单位)

TRUNC (TO_DATE(end-date-start_date))

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

- 消逝的时间(以分钟为单)
TRUNC (TO_DATE(end-date-start_date)*24*60)
 

 

计算Varchar型的startTime到endTime时的时间差:

SELECT (

              TRUNC (TO_DATE('19:30','HH24:MI'),'MI') -

              TRUNC (TO_DATE('18:30','HH24:MI'),'MI') 

             ) * 24 * 60           

FROM   dual;

运行结果: 60

分享到:
评论

相关推荐

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

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

    oracle数据类型

    - **应用场景**:适用于计算两个时间点之间的精确时间差。 4. **TIMESTAMP[(seconds_precision)]** - **描述**:日期和时间类型,用于存储精确到秒甚至毫秒级别的日期时间。 - **应用场景**:适用于需要高精度...

    oracle数据类型.docora复制

    首先,Oracle数据类型大致可以分为四大类:数值型、字符型、日期/时间型和二进制型。数值型数据类型包括整数类型(如NUMBER、INTEGER、BINARY_INTEGER)和浮点类型(如BINARY_FLOAT、BINARY_DOUBLE)。NUMBER是最...

    Oracle中实现datadiff函数

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

    Oracle的常用数据类型[收集].pdf

    Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,它提供了丰富的数据类型来存储各种类型的数据。以下是对Oracle常用数据类型的详细介绍: 1. **字符型**: - `CHAR`:固定长度的字符类型,最大长度为...

    ORACLE和SQL语法区别归纳.pdf

    变长字符数据类型中,ORACLE 的 VARCHAR2 类型最大长度为 4kb,而 SQL 服务器的 VARCHAR 类型最大长度为 8kb。日期和时间数据类型中,ORACLE 的 DATE 类型格式为 DMY,而 SQL 服务器的 DATE 类型格式可以调节,默认...

    ORACLE和SQL语法区别归纳.docx

    * VARCHAR2:Oracle 中的 VARCHAR2 是变长字符数据类型,最大长度为 4KB,而 SQL Server 中的 VARCHAR 最大长度为 8KB。 * NCHAR:Oracle 中的 NCHAR 是根据字符集而定的固定长度字符串,最大长度为 2KB,而 SQL ...

    Oracle到mysql转换的问题总结.doc

    - Oracle 的 `DATEDIFF` 函数在 MySQL 中也有同名的函数,用于计算两个日期之间的天数差。 在进行 Oracle 到 MySQL 的数据迁移时,了解这些差异并能正确转换是非常关键的,可以确保数据的准确性和查询的有效性。在...

    根据生日获取年龄及年龄单位的oracle存储过程

    在Oracle数据库系统中,存储过程是一种预编译的SQL和PL/SQL代码集合,用于执行特定的任务。在本例中,我们关注的是一个名为...理解并掌握这类存储过程的编写,有助于我们在数据库开发中更高效地处理时间相关的计算。

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

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    PostgreSQL與Oracle跟SQL92 Standard的差異

    - **ISO SQL92 Standard**、**PostgreSQL**与**Oracle**:三者均支持`timestamp`类型,用于存储时间戳数据,但PostgreSQL和Oracle的`timestamp`类型具有固定的字节数量,而ISO SQL92标准中的`timestamp`类型大小则...

    PostgreSQL常用数据类型

    - **interval**:表示时间间隔,例如表示两个时间点之间的时间差。 - **date**:仅表示日期部分,不包含时间信息。 - **time**:表示时间部分,可以指定是否包含时区信息。 #### 7. 布尔数据类型 - **boolean**:...

    ORACLE和SQL语法区别归纳

    - **日期和时间类型**:两者都有 `DATE` 类型,但在 Oracle 中格式默认为 DMY,而在 SQL Server 中可以自定义,默认为 MDY。SQL Server 还提供了 `DATETIME` 和 `SMALLDATETIME`。 - **数字类型**:Oracle 的 `...

    Oracle到mysql转换的问题总结[收集].pdf

    - `VARCHAR2`在Oracle中用于存储可变长度的字符数据,MySQL中的相应类型是`VARCHAR`。 - Oracle的`DATE`类型包含时间部分,但在MySQL中,应使用`DATETIME`来存储日期和时间。 2. **SQL语句写法的区别**: - ...

    oracle的练习 老师给的

    在这个Oracle的练习中,我们涉及了多个关键知识点,包括Oracle的系统结构、文件类型、内存结构、SQL语言、数据类型、表的创建、权限管理、日期处理、查询优化以及复杂的SQL查询技巧。 1. **Oracle系统结构**:...

    DBA对Oracle SQL编写规范的总结

    在Oracle数据库开发过程中,遵循一套标准化的SQL编写规范对于提升代码质量、增强可读性和可维护性至关重要。本文档由一位经验丰富的数据库管理员(DBA)撰写,旨在总结一系列最佳实践,帮助开发人员在编写SQL语句时...

    oracle课堂笔记

    Oracle数据库是当前企业级应用中最广泛使用的RDBMS之一,其强大的功能、高可用性及安全性使其成为众多企业和组织首选的数据管理解决方案。通过对上述知识点的学习,我们可以更好地理解Oracle数据库的核心概念和技术...

    oracle习题带答案

    - **Oracle Database**:指的是物理存储结构,它包含了数据库中的所有数据,具体来说主要包括数据文件(Data Files)、控制文件(Control File)以及重做日志文件(Redo Log Files)。这些文件共同构成了数据库的...

    oracle

    在Oracle数据库中,进行数据类型转换是一项常见的需求,特别是在数据导入导出、数据清洗等场景下尤为重要。Oracle9i提供了多种方法来实现不同类型之间的转换。 1. **to_char()** - **用途**:将`NUMBER`或`DATE`...

    利用kettle自动创建oracle表分区

    在本篇文章中,将会介绍如何使用Kettle自动创建Oracle表分区。Oracle表分区是一种非常重要的数据库优化技术,它可以将大型表分割成多个小的独立表,从而提高查询效率和数据管理效率。在本篇文章中,我们将使用Kettle...

Global site tag (gtag.js) - Google Analytics