정해진 기간에 원하는 시간대의 데이터를 검색하는 것에대해서요. 0 3 2,257

by 산들바람 [SQL Query] 기간 [2010.01.26 14:56:01]


안녕하세요.  문의점은요. 정해진 기간에 원하는 시간대의 데이터만 추출하는것입니다.

예를 들면. ’2009년 5월 15일 부터 2009년 6월 15일까지 기간을 검색하며, 기간중의 9,11,12시 시간대의 데이터만 추출 한다고 했을때에 이렇게 쿼리를 짜보았습니다만. 데이터가 나오기도 하구요;; 이상태의 결과물에서 토, 일에 대한 데이터도 모두 제외하고 싶습니다. 

 

즉. 위의 기간동안의 평일에 9,11,12시의 데이터만 출력하겠다는 것입니다. 그럴려면 쿼리를 어떻게 변경시켜야 하며 like보다 더 좋은 어떠한 방법으로 변경이 되어야 하는지 궁금합니다. 

 

select * from (select yyyymmdd, hhmmss, if_idx from IF_PERF
 where yyyymmdd||hhmmss BETWEEN ’20090515000010’AND ’20090615000000’
 order by yyyymmdd||hhmmss )
 where hhmmss like ’09%’ 
    or hhmmss like ’11%’  
    or hhmmss like ’12%’  

글 읽어주셔서 감사합니다.

by 마농 [2010.01.26 15:08:48]
yyyymmdd||hhmmss BETWEEN '20090515000010' AND '20090615000000'
이부분은 yyyymmdd BETWEEN '20090515' AND '20090615' 이렇게 고치는 게 맞을듯 하구요.
서브쿼리의 order by yyyymmdd||hhmmss 이부분은 아예 삭제를 하시던가
아니면 제일 마지막에 수행을 하시던가 하구요.
제일 마지막에 수행을 한다면 order by yyyymmdd, hhmmss 이렇게 고치는게 좋을듯.
hhmmss like '09%' or hhmmss like '11%' or hhmmss like '12%'
이부분은 hhmmss between '090000' AND '125959' 이렇게

by 마농 [2010.01.26 15:11:38]
AND TO_CHAR(TO_DATE(yyyymmdd,'yyyymmdd'),'d') NOT IN ('1','7')

by 산들바람 [2010.01.27 10:04:33]
마농님 감사드립니다. 알려주신 주일제거 방법으로 잘 해결했습니다 ㅎ.
좋은하루보내세요^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입