날짜 연산 질문 입니다.
테이블의 데이터에 아래와 같은 데이터가 있다고 하면 제가 원하는 데이터는
해당월과 다음달에 해당하는 해당하는 영화들입니다. 가령 금월이 11 월 이면 11, 12월기간 동안
해당하는 A,C,D,E 라는 리스트를 가지고 오고 싶습니다.
영화명 시작일 (st_date ) 종료일(end_date )
A 영화 2014-10-22 2014-11-22
B 영화 2014-10-01 2014-10-30
C 영화 2014-11-01 2014-11-30
D 영화 2014-11-10 2014-12-10
E 영화 2014-12-01 2014-12-20
제가 구한 쿼리는
select *
from movie_master
where 1=1
AND ( ( to_char(to_date(st_date , 'yyyy-mm-dd'), 'yyyy-mm') >= '2014-11'
AND to_char(to_date(st_date , 'yyyy-mm-dd'), 'yyyy-mm') <=
to_char(add_months( to_date('2014-11','yyyy-mm'), 1), 'yyyy-mm') )
or ( to_char(to_date(end_date , 'yyyy-mm-dd'), 'yyyy-mm') >= '2014-11'
AND to_char(to_date(end_date , 'yyyy-mm-dd'), 'yyyy-mm') <=
to_char(add_months( to_date('2014-11','yyyy-mm'), 1), 'yyyy-mm') ) ) |