查找两个日期之间的差异 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的主要内容,如果未能解决你的问题,请参考以下文章