SQL 개월 수 계산 MONTHS_BETWEEN 함수 사용법

핵심 원리: MONTHS_BETWEEN 함수

MONTHS_BETWEEN 함수는 두 날짜 사이의 개월 수를 계산하여 반환합니다. 이 함수는 날짜 간 차이를 월 단위로 구할 때 유용합니다.

기본 문법:

MONTHS_BETWEEN(date1, date2)
  • date1: 비교할 첫 번째 날짜 (기준 날짜).
  • date2: 비교할 두 번째 날짜.

예시:

  • MONTHS_BETWEEN(SYSDATE, hiredate) : 현재 날짜와 사원 입사일(hiredate) 사이의 개월 수를 반환합니다.

연습 문제

  1. 2024년 1월 1일부터 2023년 7월 1일까지의 개월 수를 구하세요.
  2. 사원 테이블에서 각 사원의 입사일로부터 현재까지 근무한 개월 수를 계산하여 출력하세요.

연습 문제 해답

  1. MONTHS_BETWEEN(TO_DATE('2024-01-01', 'YYYY-MM-DD'), TO_DATE('2023-07-01', 'YYYY-MM-DD'))를 사용하면 결과는 6개월입니다.
   SELECT MONTHS_BETWEEN(TO_DATE('2024-01-01', 'YYYY-MM-DD'), TO_DATE('2023-07-01', 'YYYY-MM-DD')) AS months_diff
   FROM dual;
  1. 각 사원의 입사일로부터 현재까지 근무한 개월 수를 계산하는 쿼리는 다음과 같습니다:
   SELECT ename, MONTHS_BETWEEN(SYSDATE, hiredate) AS months_worked
   FROM emp;

응용 문제

  1. 특정 사원이 입사한 날짜와 현재 날짜 사이의 개월 수를 계산하고, 그 개월 수가 120개월 이상인 사원들만 출력하세요.

응용 문제 해답

  1. SELECT ename, MONTHS_BETWEEN(SYSDATE, hiredate) AS months_worked FROM emp WHERE MONTHS_BETWEEN(SYSDATE, hiredate) >= 120;
  • 이 쿼리는 사원이 120개월 이상 근무한 경우만 출력합니다.

실무 유형 문제

  1. 특정 사원이 퇴사한 날짜와 입사한 날짜 사이의 개월 수를 계산하여 퇴사자의 근무 기간을 분석하세요.

실무 유형 문제 해답

SELECT ename, MONTHS_BETWEEN(termination_date, hiredate) AS tenure_months
FROM emp
WHERE termination_date IS NOT NULL;

이 쿼리는 퇴사한 사원들의 근무 기간을 개월 수로 계산하여 출력합니다.

Posts created 411

Related Posts

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

Back To Top