Oracle LAST_DAY 설명 : 오라클 함수
1. 함수의 목적
Oracle LAST_DAY는 파라미터로 받은 date의 해당월 최종일을 구한다.
2. 샘플을 통한 개념 퀵뷰
현재일이 2017/07/31이라는 가정하에, 20170/07월의 마지막 날을 구하고, 마지막날과 현재일의 차이 날짜수를 구한다.
SELECT SYSDATE,
2 LAST_DAY(SYSDATE) "Last",
3 LAST_DAY(SYSDATE) - SYSDATE "Days Left"
4 FROM DUAL;
SYSDATE Last Days Left
-------- -------- ----------
17/07/29 17/07/31 2
3. 사용방법
4. 함수 PARAMETER 설명
달의 최종일은 session parameter인 NLS_CALENDAR에 의해 정의된다.
함수에 의해 리턴되는 데이터 타입은 DATE이다.
[date]
입력 파라미터로 여기에 입력되는 달의 마지막 날짜를 구한다.
5. 다양한 샘플표현
example1) employees테이블의 hire_date로 해당월의 마지막 날을 구하고 5달을 더한 날짜를 구한다.
SELECT last_name, hire_date,
TO_CHAR(ADD_MONTHS(LAST_DAY(hire_date), 5)) "Eval Date"
FROM employees
ORDER BY last_name, hire_date;
example2) 형변환이 가능한 날짜형식의 스트링이 들어와도 가능하다.
select last_day('20170707') from dual;
LAST_DAY
--------
17/07/31
example3) 스트링으로 월까지만 공급하면 에러가 난다.
select last_day('201707') from dual;
select last_day('201707') from dual
*
1행에 오류:
ORA-01861: 리터럴이 형식 문자열과 일치하지 않음