找出两个日期Oracle SQL之间的区别

时间:2014-11-28 14:19:52

标签: sql oracle

我想知道如何区分两个日期时间。我面临的问题是我必须将日期从表格转换为可用日期。即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 - “无效号码” *原因:
*操作:

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

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

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';