date 타입 between으로 범위검색시 0 1 11,170

by NEOCAN 오라클. date between [2016.08.30 14:07:09]


오라클에서 date 타입의 변수를 between으로 검색하게 될때 날짜뿐만아니라 시간도 붙여줘야 가능한 부분인가요???

그리고 부등호 조건으로 범위검색시에는 시간을 안붙여도 되는건가요??

 

궁금합니다!!!!

by 마농 [2016.08.30 14:57:03]

Date Type 의 저장단위는 일자단위가 아닌 초단위 입니다.
특정 일자 검색을 위해서는 이퀄검색이 아닌 초단위 범위검색을 해야 합니다.
 

-- 1. 초단위를 명시하여 Between
 WHERE dt BETWEEN TO_DATE('20160829 000000', 'yyyymmdd hh24miss')
              AND TO_DATE('20160829 235959', 'yyyymmdd hh24miss')
-- 2. 23시59분59초 에 해당하는 일자 환산 수치를 적용
 WHERE dt BETWEEN TO_DATE('20160829', 'yyyymmdd')
              AND TO_DATE('20160829', 'yyyymmdd') + 0.99999
-- 3. Between 조건은 다음과 동일한 조건임
 WHERE dt >= TO_DATE('20160829', 'yyyymmdd')
   AND dt <= TO_DATE('20160829', 'yyyymmdd') + 0.99999
-- 4. 하루를 더한 값괴 비교하면서 이퀄(=) 제거
 WHERE dt >= TO_DATE('20160829', 'yyyymmdd')
   AND dt <  TO_DATE('20160829', 'yyyymmdd') + 1

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입