블로그 이미지

개발로그 - DevLog

프레임워크(framework), 웹2.0 등 개발기술과 서비스 by 태미(taemy)


'검색'에 해당되는 글 1건

  1. 2007/07/16 mysql 의 날짜 범위 검색 - 여러 날짜 형식

mysql 의 날짜 범위 검색 - 여러 날짜 형식

아는 사람은 다 아는 시리즈 ^^

# mysql 의 검색. 날짜형식 범위(between) 검색
select * from DateSample where bDate between 'A' and 'B' ;
와 같이 쿼리할때.

bDate 필드가 datetime 같은 날짜 형식으로 되어 있으면 별 문제없이 검색이 됨.
DB 설계할때 미리 처리하는 것이 정석이겠죠.

그런데, 예상치 않은 혹은 확장하게되는 경우에 임시적으로 처리하는 방법.

예를 들어 bDate 가  07/05/12 , 07/5/12 , 2007/5/5 , 2007.5.7   이런식으로 섞여 있다면
어떻게 할까?
하나의 형식에 맞게 전부 고쳐준다. (싫어! 네가 해라!)

그냥 모두 검색할 수 없을까?

# 이런 쿼리로 어떤가?
select * from DateSample where  STR_TO_DATE(CONCAT_WS('-', YEAR (bDate), MONTH(bDate), DAY(bDate)), '%Y-%m-%d') between "2007-05-21" and "2007-06-19" ;

이런식으로 
1. YEAR , MONTH , DAY 로 각 날짜별 년월일을 구한다.
2. CONCAT_WS 로  각 년월일을 '-' 로 연결(?)한다.
3. 마지막으로 STR_TO_DATE 로 날짜형식으로 바꾼다.

그래서 between 으로 날짜 범위 검색을 하면 정상적으로 검색이 된다.

# 물론 임시적인 조치 이므로 Date 필드는 정확한 형식으로 바꾸어 주는 것이 좋다.
꼭 테스트해보고 사용하시길(책임지지 않습니다. ^^)

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Comment 0 Trackback 0

Trackback : http://devlog.experlab.com/trackback/339 관련글 쓰기

Top

prev 1 next