查找两个日期之间的差异 Oracle SQL

Posted

技术标签:

【中文标题】查找两个日期之间的差异 Oracle SQL【英文标题】:Find difference between two dates Oracle SQL 【发布时间】:2014-11-28 14:19:52 【问题描述】:

我想知道如何获得两个日期时间之间的差异。我面临的问题是我必须将表格中的日期转换为可用日期。即 7841433540 转换为 09/10/14 09:19:00。我返回这些值的 sql 是:

SELECT ddt.tochar(ENC_START_DDT,'MM/DD/YY HH24:MI:SS') "Admit", TO_CHAR(SYSTIMESTAMP,'MM/DD/YY HH24:MI:SS') "Today" from CCDBA.PATIENT where CCDBA.PATIENT.PAT_SEQ = '101067048';

现在我想我可以...

SELECT  ddt.tochar(ENC_START_DDT,'MM/DD/YY HH24:MI:SS')-TO_CHAR(SYSTIMESTAMP,'MM/DD/YY HH24:MI:SS') 

来自 CCDBA.PATIENT,其中 CCDBA.PATIENT.PAT_SEQ = '101067048';

但是返回:

ORA-01722: 无效号码 01722. 00000 - “无效号码” *原因: *行动:

非常感谢任何帮助

【问题讨论】:

这个页面的信息有帮助吗? ***.com/questions/1096853/… 我已经看到了,但下面的答案有效,我忘记转换为日期。我会去那里,一次一点! 【参考方案1】:

您不能减去字符串并期望数据库将它们理解为日期。因此,将它们转换为日期:

select (to_date(ddt.tochar(ENC_START_DDT,'MM/DD/YY HH24:MI:SS'), 'MM/DD/YY HH24:MI:SS') -
        sysdate) as diff
from CCDBA.PATIENT
where CCDBA.PATIENT.PAT_SEQ = '101067048';

【讨论】:

这行得通,返回一个负值,所以我只是交换了它们。非常感谢!

以上是关于查找两个日期之间的差异 Oracle SQL的主要内容,如果未能解决你的问题,请参考以下文章

Sql查询以查找两个给定日期之间的视图百分比差异

如何使用javascript查找两个日期之间的天数差异

PHP查找两个日期时间之间的差异

查找熊猫中两个日期之间差异的最简单方法

在 MS Access 或 SQL Server 中查找 2 个表之间的差异

在 sql 中查找两个透视列之间的差异