핵심 원리: LAST_DAY 함수
LAST_DAY
함수는 주어진 날짜가 속한 달의 마지막 날짜를 반환합니다. 예를 들어, 특정 날짜가 5월 22일이라면, LAST_DAY
함수는 해당 달의 마지막 날짜인 5월 31일을 반환합니다.
기본 문법:
LAST_DAY(date)
date
: 입력된 날짜가 속한 달의 마지막 날을 반환합니다.
예시:
LAST_DAY(TO_DATE('2024-03-15', 'YYYY-MM-DD'))
: 2024년 3월 15일이 속한 달의 마지막 날짜인 3월 31일을 반환합니다.LAST_DAY(SYSDATE)
: 오늘 날짜가 속한 달의 마지막 날을 반환합니다.
연습 문제
- 2024년 7월 4일이 속한 달의 마지막 날짜를 구하세요.
- 특정 사원의 입사일이 속한 달의 마지막 날짜를 구하세요.
연습 문제 해답
LAST_DAY(TO_DATE('2024-07-04', 'YYYY-MM-DD'))
을 사용하여 2024년 7월 4일이 속한 달의 마지막 날짜를 구할 수 있습니다.
SELECT LAST_DAY(TO_DATE('2024-07-04', 'YYYY-MM-DD')) AS last_day_of_july
FROM dual;
- 특정 사원의 입사일이 속한 달의 마지막 날짜를 계산하는 쿼리는 다음과 같습니다:
SELECT ename, hiredate, LAST_DAY(hiredate) AS last_day_of_hire_month
FROM emp;
응용 문제
- 사원들의 입사일이 속한 달의 마지막 날짜를 계산하여 출력하세요.
- 특정 날짜가 속한 달의 마지막 날짜와 오늘 날짜 사이의 날짜 차이를 계산하세요.
응용 문제 해답
SELECT ename, hiredate, LAST_DAY(hiredate) AS last_day_of_hire_month FROM emp;
- 이 쿼리는 사원들의 입사일이 속한 달의 마지막 날짜를 계산하여 출력합니다.
SELECT SYSDATE - LAST_DAY(TO_DATE('2024-07-04', 'YYYY-MM-DD')) AS days_difference
FROM dual;
- 이 쿼리는 특정 날짜가 속한 달의 마지막 날짜와 오늘 날짜 사이의 날짜 차이를 계산하여 출력합니다.
실무 유형 문제
- 프로젝트 시작일이 속한 달의 마지막 날짜를 계산하여 프로젝트 종료일로 설정하세요.
- 특정 사원의 승진일이 속한 달의 마지막 날짜를 기준으로 보너스를 지급하세요.
실무 유형 문제 해답
SELECT project_name, start_date, LAST_DAY(start_date) AS project_end_date
FROM projects;
- 이 쿼리는 프로젝트의 시작일이 속한 달의 마지막 날짜를 계산하여 프로젝트 종료일로 설정합니다.
SELECT emp_name, promotion_date, LAST_DAY(promotion_date) AS bonus_due_date
FROM employees;
- 이 쿼리는 특정 사원의 승진일이 속한 달의 마지막 날짜를 기준으로 보너스를 지급하기 위한 날짜를 계산합니다.