시작일과 종요일을 가지고 있는 레코드를 시작일과 종료일로 검색해서 가져오기
munilive
그누보드로 커스텀 한 사이트를 만들다 보면 간혹 게시글에 시작일/종료일과 같은 데이터를 추가로 입력해야 하는 경우가 있다.
그리고, 해당 시작일과 종료일을 가지고 검색을 할 때 시작일과 종료일을 포함하고 있는 모든 레코드를 가져오도록 해야 하는 경우가 있다.
아래와 같은 조건을 만족하는 쿼리이다.
| id | ct_sdate | ct_edate |
|---|---|---|
| 1 | 2012-01-01 | 2012-02-16 |
| 2 | 2012-02-01 | 2012-08-31 |
| {:caption=“데이터 테이블”} |
- 조건 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
Related Posts
JQuery : 클래스 이름만으로 페이지 전체에 롤오버 이미지 쉽게 적용하기
마우스 오버 시 변경될 이미지를 쌍으로 만들어 사용할 경우 지정된 class만으로 롤오버 이미지를 자동 적용하는 스크립트에 대한 코드입니다.
매주의 시작일을 일요일로 정하고 지난주 일요일과 토요일을 구해 오는 함수
매주의 시작을 일요일로 정하고 일요일에서 토요일까지의 일자를 구해오는 PHP함수 예제입니다.