Database/Oracle

[Oracle]MONTHS_BETWEEN

  • -
반응형

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

;







오늘 업무 중 사원들의 근속년수를 구하기 위해 사용했다.

유용한 기능인 것 같아 기록해두었다.


+피드백은 언제나 환영입니다 :)

반응형
Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.