2012-04-18 2 views
1

원격 오라클 데이터베이스에서 데이터를 읽습니다. 몇 시간 프레임 사이에 모든 데이터를 쿼리하려고합니다. 나는 한밤중과 현재 시간 사이에 질의를하고 싶었다. 내가 사용하던 쿼리특정 날짜 시간 사이에 모든 데이터 가져 오기

TO_DATE(to_char(sysdate, 'MM-dd-yyyy')||'00:00:00','MM-dd-yyyy HH24:MI:SS') 
AND 
TO_DATE(to_char(sysdate, 'MM-dd-yyyy HH24:MI:SS'),'MM-dd-yyyy HH24:MI:SS') 

그러나 쿼리

select TO_DATE(to_char(sysdate, 'MM-dd-yyyy HH24:MI:SS'),'MM-dd-yyyy HH24:MI:SS') from dual 

18 - 4 월 12없는 시간을 반환합니다. 나는 어떻게 시간을 얻는가?

나는 실행하고 있습니다 :

ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS'; 

하지만이 때마다이 문제를 극복하기 위해 다른 방법을 실행하지 않으?

+0

두 번째 쿼리를 실행할 때도 시간이 걸립니다. –

+0

@AmitBhargava 저는 아닙니다 :(문제가있는 것 같습니다. – kinkajou

답변

5

실제로 보이는 것이 무엇이 아닙니다.
오라클은 날짜를 나타내는 숫자로 날짜를 보유하고 있으며 쿼리 할 때 표시되는 방식은 NLS 매개 변수에 따라 다릅니다.
시간이 표시되지 않는다고해서 시간이 없다는 의미는 아닙니다.

는 쿼리에 대한 나는 이런 식으로 뭔가 할 거라고 ... 나는 같은 형식의 날짜의 뒤쪽으로 문자열로 날짜를 캐스팅에 더 사용을 볼

... BETWEEN trunc(sysdate) AND sysdate 

관련 문제