2012-02-28 11 views
1

ORACLE의 필드가 CREATED (NUMBER)로 표시됩니다. MILLISECONDS에 시간을 저장하거나 긴 형식을 말할 수 있습니다. 이제 요구 사항은 CREATED 필드를 사용하여 두 날짜 사이의 데이터를 찾는 것입니다.오라클 긴 밀리 초를 날짜로 변환

I WHERE 조건에서 근무하는 쿼리 아래에 다음과 같은,하지만 조건 사이에 대한 있습니다

SELECT date'1970-01-01' + TIMECREATED/1000/60/60/24 as timet 
FROM XXX_TABLE WHERE ITBD='829993'; 

은 누군가가 나에게 두 날짜 사이의 데이터를 얻을 수있는 SQL을 제공 할 수 있습니까? 오라클 날짜 리터럴, 타임 스탬프 하루 - 투 - 초 간격으로 재생

+2

는 당신이 우리를 보여주세요 *** 코드 *** 작동하지? – MatBailie

+1

... 어떻게 작동하지 못하는지 설명해주세요. –

답변

1

:

이 종류의 뭔가 시도 할 수 있습니다 :

select * 
    from the_table where to_timestamp(the_date_column,'DD/MM/YYYY') - date'1970-01-01' 
       between numtodsinterval(first_created/1000,'second') and numtodsinterval(second_created/1000,'second') 

또는

select * 
    from the_table 
where date'1970-01-01' + numtodsinterval(created/1000,'second') 
     between to_timestamp('2011-01-01','YYYY-MM-DD') 
      and to_timestamp('2012-01-01','YYYY-MM-DD') 
관련 문제