본문 바로가기
스터디/Oracle

[Oracle] 날짜 함수 - ADD_MONTHS, MONTHS_BETWEEN, LAST_DAY, TRUNC, EXTRACT, INTERVAL

by 홍장 2021. 4. 12.

select 
  sysdate, 
  sysdate+300, 
  add_months(sysdate, 10), 
  sysdate +365*10, 
  add_months(sysdate, 12*10) 
from dual;

기간 개월 수 구하기 MONTHS_BETWEEN(최근, 과거)

 

select ename, hiredate, 
  trunc(months_between(sysdate, hiredate)) 근속월, 
  trunc(months_between(sysdate, hiredate)/12) 근속년 
from emp;

해당월 마지막일자 구하기 LAST_DAY

select last_day(sysdate) from dual;

 

부분 초기화 TRUNC
select 
    sysdate, 
    trunc(sysdate), 
    trunc(sysdate,'yy'), 
    trunc(sysdate,'mm') 
from dual;

 

날짜 자르기 EXTRACT
SELECT
    sysdate,
    EXTRACT(YEAR FROM sysdate) year,
    EXTRACT(MONTH FROM sysdate) month,
    EXTRACT(DAY FROM sysdate) day
FROM
    dual;

 

날짜 계산 INTERVAL

SELECT
    ename,
    hiredate,
    extract(year from hiredate + INTERVAL '30' YEAR) "30주년"
FROM
    emp;