날짜 기간 검색할때 당일날짜가 포함이 안됩니다. 0 3 10,785

by 본죽이 [MySQL] between 날짜검색 [2013.04.30 19:57:35]



1. date1 between 20130301 and 20130331

2. date1 >= 20130301 and date1 <= 20130331


위의 두 쿼리와 같이 검색을 하면 2013년 3월 1일 ~ 2013년 3월 31일 까지 검색 하잖아여?

그런데 31일은 포함하지 않고 검색을 합니다.

두쿼리 다 마찬가지예요.. 2번은 될줄알았는데 ㅠㅠ...

어떻게하면 당일의 날짜도 검색을 할까요??





ps : 디비에서 date1 의 형식은

2013-03-01 14:38:25

이렇게 되어있습니다..

by 손님 [2013.04.30 20:14:47]
date1 >= to_date('20130301 ','YYYYMMDD') and date1 < to_date('20130331','YYYYMMDD') + 1

by 우리집아찌 [2013.05.02 09:16:26]
date1 >= TO_DATE(20130301,'YYYYMMDD')  and date1 <= TO_DATE(20130331,'YYYYMMDD') + 0.99999

by 손님 [2013.05.03 13:56:16]

일단 답은 위에분들이 달아 주셨으니 생략합니다.

컬럼 type이 보니까 date 로 되어있는것 같은데 

조회할때 조건절 컬럼 type을 정확히 보신 후 조회를 하세요.

일단 위에 질문해주신 쿼리 자체는 완전 잘못 된 형식입니다.

저렇게 해서 조회가  된것 자체도 좀 의아합니다.

date형식인데 넘버형으로 조회를 하셨다니..

싱글 쿼테이션 붙이셨다고 해도. 역시 잘못 된..

형변환이 일어 날 수 있으니 유의 하세요.

위에 댓글 다신 분들이  왜 굳이 date1 >= to_date(~~~~~) 를 썼는지 생각해 보시기 바람니다.

대수롭지 않게 생각 할 수 있을지 모르지만.  중요한 것이니까요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입