MONTHS_BETWEEN(SYSDATE, ColumnA)
MONTHS_BETWEEN 함수는 월 단위로 날짜 연산을 하는 함수이다.
SYSDATE(현재 날짜)를 기준으로 ColumnA(입력 날짜)와 몇 개월의 차이가 나는지를 구한다.
아래 쿼리문을 통해 이해해보자.
(ENTER_YMD : 입사일, ENTER_YMD2 : 개월 차이)
SELECT EMP_ID
, EMP_NM
, ENTER_YMD
, MONTHS_BETWEEN(SYSDATE, ENTER_YMD) AS ENTER_YMD2
FROM A
;
결과를 보면 소수점이 생기는 것을 확인할 수 있다.
개월 수를 나누어 년수로 바꾸고 TRUNC를 이용해 소수점을 깔끔하게 해주자.
(반올림이 필요하다면 ROUND 처리를 해줘도 될 것 같다)
SELECT EMP_ID
, EMP_NM
, ENTER_YMD
, TRUNC(MONTHS_BETWEEN(SYSDATE, TO_DATE(ENTER_YMD,'YYYY.MM.DD'))/12,0) AS ENTER_YMD2
FROM A
;
오늘 업무 중 사원들의 근속년수를 구하기 위해 사용했다.
유용한 기능인 것 같아 기록해두었다.
+피드백은 언제나 환영입니다 :)