특정 기간안의 데이터를 가져오는건 처리 되어있는 상황에서
조건을 하나 더 붙여서 특정일 안의 데이터 중에서 특정 시간 사이의 값만을 추출할 수 있을까요?
예를 들어 12월 3일부터 10일까지의 데이터 중에서
오후 6시 부터 다음날 오전 9시이전까지의 데이터를 가져오고 싶어요
AND로 TO_DATE에 가져오는 년월일 다 빼고 시간가져와서 붙여봤더니 결과값이 제대로 나오질 않네요...
SELECT *
FROM TABLE_NAME
WHERE (TIME >=
TO_DATE ('2015-12-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
AND (TIME <=
TO_DATE ('2015-12-10 23:59:59', 'YYYY-MM-DD HH24:MI:SS'))
TIME컬럼이 DATE 형식이 맞나요??
----------------------------------------------------------------
예를 들어 12월 3일부터 10일까지의 데이터 중에서
오후 6시 부터 다음날 오전 9시이전까지의 데이터를 가져오고 싶어요
----------------------------------------------------
위의 질문은 12월 3일 18시 ~ 12월 4일 09시
12월 4일 18시 ~ 12월 5일 09시
'
'
12월 9일 18시 ~ 12월 10일 09시
위의 기간을 다 더한 결과값을 원하시는건가요?
TIME 컬럼이 DATE 형이라면
1 2 3 4 5 6 7 8 | SELECT * FROM table_name WHERE TIME BETWEEN TO_DATE ( '2015-12-03' , 'yyyy-mm-dd' ) AND TO_DATE ( '2015-12-10' , 'yyyy-mm-dd' ) + 0.99999 AND ( TO_NUMBER (TO_CHAR ( TIME , 'hh24mi' )) >= 1800 OR ( TO_NUMBER (TO_CHAR ( TIME , 'hh24mi' )) >= 0 AND TO_NUMBER (TO_CHAR ( TIME , 'hh24mi' )) < 900) ) |
이렇게 하시면 될듯하네요.