그누보드로 커스텀 한 사이트를 만들다 보면 간혹 게시글에 시작일/종료일과 같은 데이터를 추가로 입력해야 하는 경우가 있다.
그리고, 해당 시작일과 종료일을 가지고 검색을 할 때 시작일과 종료일을 포함하고 있는 모든 레코드를 가져오도록 해야 하는 경우가 있다.
아래와 같은 조건을 만족하는 쿼리이다.
id | ct_sdate | ct_edate |
---|---|---|
1 | 2012-01-01 | 2012-02-16 |
2 | 2012-02-01 | 2012-08-31 |
- 조건 1
- 검색조건:
sDate = 2020-01-01, eDate = 2012-01-30
- 결과:
1
번만 조회
- 검색조건:
- 조건 2
- 검색조건:
sDate = 2011-12-01, eDate = 2011-12-30
- 결과: 조회 결과 없음
- 검색조건:
- 조건 3
- 검색조건:
sDate = 2012-02-01, eDate = 2012-02-28
- 결과:
1, 2
번 모두 조회
- 검색조건:
- 조건 4
- 검색조건:
sDate = 2012-03-01, eDate = 2012-04-01
- 결과:
2
번만 조회
- 검색조건:
- 조건 5
- 검색조건:
sDate = 2012-09-01, eDate = 2012-09-30
- 결과: 조회 결과 없음
- 검색조건:
(('$sDate' <= ct_sdate AND '{$eDate}' >= ct_sdate) OR ('{$sDate}' <= ct_edate AND '{$eDate}' >= ct_edate) OR (ct_sdate <= '{$eDate}' AND ct_edate >= '{$eDate}'))
# BETWEEN 사용
ct_sdate BETWEEN '{$sDate}' AND '{$eDate}' OR ct_edate BETWEEN '{$sDate}' AND '{$eDate}' OR (ct_sdate <= '{$sDate}' AND ct_edate >= '{$eDate}')
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
Comments