시작일과 종요일을 가지고 있는 레코드를 시작일과 종요일로 검색해서 가져오기

DB 테이블에 시작일과 종료일을 기록하고 있을때 시작일과 종요일을 사용하여 검색 할때 시작일, 종료일을 포함하고 있는 모든 레코드를 가져오도록 한다.

 

예)

레코드1 : 2012-01-01~2012-02-16
레코드2 : 2012-02-01~2012-08-31

검색조건 : 2012-01-01~2012-01-30
결과 : 레코드1 만 출력
검색조건 : 2011-12-01~2011-12-30
결과 : 결과 없음
검색조건 : 2012-02-01~2012-02-28
결과 : 레코드1,2 출력
검색조건 : 2012-03-01~2012-04-01
결과 : 레코드2만 출력
검색조건 : 2012-09-01~2012-09-30
결과 : 결과 없음
 
위와 같은 결과물을 얻기 위한 조건문
wr_4 = 시작일
wr_5 = 종요일
 
(('$StartDate' <= wr_4 AND '{$EndDate}' >= wr_4) OR ('{$StartDate}' <= wr_5 AND '{$EndDate}' >= wr_5) OR (wr_4 <= '{$EndDate}' AND wr_5 >= '{$EndDate}'))

 

BETWEEN 사용해서
ct_sdate = 시작일
ct_edate = 종료일

ct_sdate BETWEEN '{$sDate}' AND '{$eDate}' OR ct_edate BETWEEN '{$sDate}' AND '{$eDate}' OR (ct_sdate <= '{$sDate}' AND ct_edate >= '{$eDate}')

 

CC BY-NC-SA 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.