[Oracle] 오라클 WHERE 절에 날짜 조건 검색 3가지 방법

오라클의 WHERE 절에서 날짜 조건을 검색하기 위해서는 BETWEEN 연산자와 부등호 연산자를 사용한다. 조회할 날짜 칼럼에 시간이 포함되어 있다면 조건 값에 시간까지 포함해야 누락된 데이터가 없이 조회된다. 아래는 실무에서 날짜를 조회할 때 자주 사용하는 방법이니 참고해서 사용하면 된다.

 

목차

 

BETWEEN 연산자를 사용하여 날짜 조회

SELECT *
  FROM emp
 WHERE hiredate BETWEEN TO_DATE('2023-11-01', 'YYYY-MM-DD')
                    AND TO_DATE('2023-11-30', 'YYYY-MM-DD')

 

 

WHERE 칼럼 BETWEEN 시작일자 AND 종료일자

 

입사일이 11월 1일부터 11월 30일까지인 직원을 조회한다.

날짜를 조회할 때는 BETWEEN 연산자를 많이 사용한다.

 

날짜를 대입할 때는 TO_DATE 함수를 사용하여 날짜형으로 변환 후 입력하는 것을 권장한다.

날짜를 문자열로 입력해도 조회는 되지만 오라클 환경에 따라서 정상적으로 작동하지 않을 수 있다.

 

부등호(=, >, <) 연산자를 사용하여 날짜 조회

SELECT *
  FROM emp
 WHERE hiredate = TO_DATE('2023-11-01', 'YYYY-MM-DD')

 

 

하루 날짜만 조회할 때는 이퀄(=) 연산자를 사용하면 된다.

 

SELECT *
  FROM emp
 WHERE hiredate >= TO_DATE('2023-11-01', 'YYYY-MM-DD')
   AND hiredate <= TO_DATE('2023-11-30', 'YYYY-MM-DD')

 

 

WHERE 칼럼 >= 시작일자 AND 칼럼 <= 종료일

WHERE 칼럼 BETWEEN 시작일자 AND 종료일자 동일한 결과

 

부등호 연산자를 사용하여 날짜를 조회할 수 있다. BETWEEN 연산자를 주로 사용하지만 상황에 따라서 부등호 연산자를 사용하여 날짜를 조회하는 경우도 종종 있다.

 

SELECT *
  FROM emp
 WHERE hiredate >= TO_DATE('2023-11-01', 'YYYY-MM-DD')
   AND hiredate < TO_DATE('2023-11-30', 'YYYY-MM-DD')

 

 

이퀄(=) 연산자 없이 부등호 연산자만 사용하여 날짜를 검색할 수 있다.

이퀄이 없을 경우 해당일자의 초과, 미만의 데이터가 조회된다.

 

날짜 칼럼에 시간이 있을 경우 조회 방법 (0.99999)

SELECT *
  FROM emp
 WHERE editdate BETWEEN TO_DATE('2023-11-01', 'YYYY-MM-DD')
                    AND TO_DATE('2023-11-30', 'YYYY-MM-DD') + 0.99999

 

 

조회할 칼럼에 시간까지 포함되어 있다면 0.99999를 더해서 23시 59분 59초까지 조회할 수 있다.

TO_DATE('2023-11-30', 'YYYY-MM-DD') → 2023-11-30 00:00:00

 

TO_DATE('2023-11-30', 'YYYY-MM-DD') + 0.99999은

TO_DATE('2023-11-30 23:59:59', 'YYYY-MM-DD HH24:MI:SS')와 동일하다.

예제쿼리(테이블포함).txt
0.00MB

 

[Oracle] BETWEEN ~ AND 범위 검색 사용법

오라클에서 쿼리문을 작성하다 보면 가장 많이 사용하는 연산자 중 하나는 BETWEEN일 것이다. BETWEEN은 날짜, 숫자의 범위 검색에 아주 유용하게 사용할 수 있으며, 문자의 범위 검색도 가능하다.

gent.tistory.com

 

[Oracle] 문자를 날짜로 변환 방법 (TO_DATE)

오라클에서 문자열을 날짜형 데이터로 형 변환을 하기 위해서는 TO_DATE 함수를 사용하면 된다. TO_DATE("문자열", "날짜 포맷") 아래의 예제를 보면 쉽게 이해할 수 있다. SELECT TO_DATE('2021-12-12', 'YYYY-MM

gent.tistory.com

 

댓글

Designed by JB FACTORY