오라클에서 특정 월의 마지막 날짜(일자)를 구하기 위해서 LAST_DAY 함수를 사용하면 된다.
날짜와 관련된 SQL문을 작성할 때 월 별로 마지막 날짜를 직접 계산하는 것이 번거로운데, 이 때 LAST_DAY 함수를 활용하면 특정 월에 대한 마지막 날짜를 쉽게 구할 수 있다.
1) 기본 문법
LAST_DAY(날짜)
: 날짜는 DATE 타입, 문자 타입 둘 다 가능
2) 기본 예시
LAST_DAY 함수를 사용하여 이번달에 대한 마지막 날짜를 구하는 예시를 알아보자.
SELECT LAST_DAY(SYSDATE) AS DATE_DAY,
LAST_DAY(TO_CHAR(SYSDATE, 'YYYYMMDD')) CHAR_DAY
FROM dual;
위 예시를 살펴보면, LAST_DAY 함수의 인자로 DATE 타입과 VARCHAR 타입 둘 다 사용이 가능하고, 결과는 아래와 같다.
결과는 동일하지만, 각 인자의 타입으로 리턴되는 것을 확인할 수 있다.
3) 활용 예시
앞선 기본 예시에서 더 나아가, 올해 모든 월에 대한 마지막 날짜를 구하는 예시를 알아보자.
SELECT LAST_DAY(DAY) AS LASTDAY_DATE
FROM (
SELECT TO_CHAR(SYSDATE, 'YYYY') || LPAD(LEVEL, 2, 0) || '01' AS DAY
FROM dual
CONNECT BY LEVEL <= 12
)
ORDER BY DAY;
먼저 SYSDATE 함수를 통해 현재 날짜에 대한 년도를 추출하고, LEVEL CONNECT BY 함수로 1~12월에 대한 날짜를 구한다.
모든 월에 대한 정보를 구한 뒤 LAST_DAY 함수를 통해 각각의 마지막 날짜를 구할 수 있고, 그 결과는 아래와 같다.
이렇게 ORACLE의 LAST_DAY 함수를 통해 해당 월의 마지막 일자를 쉽게 구할 수 있고, 실제 쿼리에서 다양하게 활용할 수 있다.
[reference]
https://gent.tistory.com/470
https://m.blog.naver.com/regenesis90/222204323499
'DataBase > Oracle' 카테고리의 다른 글
[Oracle] 모든 테이블과 컬럼 조회하기 (0) | 2025.05.24 |
---|---|
[Oracle] XMLELEMENT, XMLAGG 함수 (0) | 2025.05.23 |
[Oracle] 컬럼 정보 조회, 코멘트(COMMENT)로 테이블,컬럼 찾기 (0) | 2025.05.22 |
[Oracle] USER_SOURCE, ALL_SOURCE 검색 (0) | 2025.05.22 |
[Oracle] 정규식 함수 REGEXP_REPLACE(문자열 치환) (0) | 2025.04.02 |