[Oracle SQL] 오라클 TO_DATE/ LAST_DAY로 월별 데이터 구하기

2021-04-19


Photo by Joel Muniz on Unsplash

날짜 포맷을 정하는 TO_DATE 메서드와 월별 마지막 날을 알려주는 LAST_DAY 메소드를 이용하면 간단히 월별 데이터를 구할 수 있는데, 그 방법을 알아보자.


-예제

 

예제로는 SEE_INFO 테이블을 이용해서 사용해도록 하자. 테이블의 내용은 아래와 같다.

 


- 11월이 생일인 학생들

 

TO_DATE를 통해서 월의 시작일(1일)과 끝나는날(28일/30일/31일)을 정해주면 간단히 처리된다. LAST_DAY는 날짜형 포맷만 전달받을 수 있기 때문에 TO_DATE로 날짜 포맷으로 바꾸어 준 뒤에 사용하는 것이 조금 더 안전하게 쿼리문을 수행할 수 있다.

 

SELECT * FROM SEE_INFO WHERE BIRTH 
BETWEEN TO_DATE('1990-11-01', 'yyyy-MM-dd') AND 
LAST_DAY(TO_DATE('1990-11-01', 'yyyy-MM-dd'));

 

결과는 아래와 같이 출력된다.

 


- 6월이 생일인 학생들

 

날짜만 6월로 바꿔서 하나만 더 살펴보자.

 

SELECT * FROM SEE_INFO WHERE BIRTH 
BETWEEN TO_DATE('1990-06-01', 'yyyy-MM-dd') AND 
LAST_DAY(TO_DATE('1990-06-01', 'yyyy-MM-dd'));

 

마찬가지로 문제없이 해당 월초 부터 말까지의 데이터가 출력되는 것을 확인할 수 있다.

 


메인 이미지 출처: Photo by Joel Muniz on Unsplash