SQL 특정 날짜에 개월 수 더하기: ADD_MONTHS 함수 사용법

핵심 원리: ADD_MONTHS 함수

ADD_MONTHS 함수는 특정 날짜에 개월 수를 더하거나 뺀 날짜를 반환합니다. 이 함수는 일정 기간 후 또는 전의 날짜를 계산할 때 유용합니다.

기본 문법:

ADD_MONTHS(date, n)
  • date: 기준이 되는 날짜.
  • n: 더하거나 뺄 개월 수 (음수일 경우 개월 수를 뺌).

예시:

  • ADD_MONTHS(SYSDATE, 6) : 현재 날짜에서 6개월 후의 날짜를 반환합니다.
  • ADD_MONTHS(TO_DATE('2023-01-01', 'YYYY-MM-DD'), -3) : 2023년 1월 1일에서 3개월 전의 날짜를 반환합니다.

연습 문제

  1. 2024년 3월 1일부터 18개월 후의 날짜를 구하세요.
  2. 현재 날짜에서 2년 3개월 전의 날짜를 구하세요.

연습 문제 해답

  1. ADD_MONTHS(TO_DATE('2024-03-01', 'YYYY-MM-DD'), 18)를 사용하면 결과는 2025년 9월 1일입니다.
   SELECT ADD_MONTHS(TO_DATE('2024-03-01', 'YYYY-MM-DD'), 18) AS new_date
   FROM dual;
  1. 현재 날짜에서 2년 3개월 전의 날짜를 계산하는 쿼리는 다음과 같습니다:
   SELECT ADD_MONTHS(SYSDATE, -27) AS past_date
   FROM dual;

응용 문제

  1. 특정 사원의 입사일로부터 5년 후의 날짜를 계산하여 출력하세요.
  2. 특정 날짜에서 15개월을 더한 후의 날짜와, 같은 날짜에서 1년 3개월을 더한 날짜를 각각 계산하고 비교하세요.

응용 문제 해답

  1. SELECT ename, ADD_MONTHS(hiredate, 60) AS five_years_later FROM emp;
  • 이 쿼리는 사원의 입사일로부터 5년 후의 날짜를 계산합니다.
   SELECT TO_DATE('2023-03-01', 'YYYY-MM-DD') AS original_date,
          ADD_MONTHS(TO_DATE('2023-03-01', 'YYYY-MM-DD'), 15) AS fifteen_months_later,
          TO_DATE('2023-03-01', 'YYYY-MM-DD') + INTERVAL '1-3' YEAR TO MONTH AS one_year_three_months_later
   FROM dual;
  • 이 쿼리는 주어진 날짜에서 15개월 후와 1년 3개월 후의 날짜를 각각 계산하여 비교합니다.

실무 유형 문제

  1. 특정 프로젝트의 시작일로부터 6개월 후와 1년 6개월 후의 날짜를 각각 계산하여 프로젝트 일정에 반영하세요.

실무 유형 문제 해답

SELECT project_name, 
       ADD_MONTHS(start_date, 6) AS six_months_later, 
       ADD_MONTHS(start_date, 18) AS one_year_six_months_later
FROM projects;

이 쿼리는 프로젝트의 시작일로부터 6개월 후와 1년 6개월 후의 날짜를 계산하여 출력합니다.

Posts created 411

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top