1 분 소요

날짜 함수

  • sysdate: 현재 시스템의 날짜를 얻어온다
    select sysdate from dual;
    
    SYSDATE
    22/04/03
    

     

  • 내일 날짜
    select sysdate+1 from dual;
    
    SYSDATE+1
    22/04/04
    
  • 전일 날짜
    select sysdate -1 from dual;
    
    SYSDATE-1
    22/04/02
    

     

  • MONTHS_BETWEEN: 두 날짜 사이의 개월 수를 구하는 함수
    select months_between(sysdate,'2020-01-01') from dual;
    
    MONTHS_BETWEEN(SYSDATE,'2020-01-01')
    27.09559475806451612903225806451612903226
    

     

  • 근무 개월 수 (소수점 이하 자리는 한달이 아직 안되었다.)
    select first_name, hire_date, months_between(sysdate,hire_date)from employees
    
    FIRST_NAME	HIRE_DATE	MONTHS_BETWEEN(SYSDATE,HIRE_DATE)
    Steven	03/06/17	225.579587066905615292712066905615292712
    

     

  • 근무 개월수 절사 (TRUNC)
    select first_name,sysdate,hire_date,trunc(months_between(sysdate,hire_date)) from employees;
    
    FIRST_NAME	SYSDATE	HIRE_DATE	TRUNC(MONTHS_BETWEEN(SYSDATE,HIRE_DATE))
    Steven	22/04/03	03/06/17	225
    

     

  • 근무 개월수 반올림(ROUND)
    select frist_name,sysdate,hire_date,round(months_between(sysdate,hire_date)) from employees;
    
    FIRST_NAME	SYSDATE	HIRE_DATE	ROUND(MONTHS_BETWEEN(SYSDATE,HIRE_DATE))
    Steven	22/04/03	03/06/17	226
    

     

  • 50번 부서 사원들의 근무 개월 수를 파악(한달이 채워지지 않아도 개월수 인정)- (CEIL)
    select  first_name, ceil(months_between(sysdate,hire_date)) from employees where department_id = 50;
    
  • 50번 부서 사원들의 근무 개월 수를 파악(한달이 채워지지 않아도 개월수 인정하지 않음)-(FLOOR)
    select first_name,floor(months_between(sysdate)) from employees where department_id = 50;
    

     

  • LAST DAY:해당 월의 마지막 날짜를 구함
    select last_day(sysdate) from dual;
    
    LAST_DAY(SYSDATE)
    22/04/30
    
  • 입사월의 마지막 날짜
    select hire_date, last_day(hire_date)from employees;
    
    HIRE_DATE	LAST_DAY(HIRE_DATE)
    03/06/17	03/06/30
    

     

  • ADD_MONTHS:특정 개월 수를 더한 날짜를 구하는 함수(현재 달로 부터 지정한 달의 날짜를 구한다)
    select add_months(sysdate,7) from dual;
    
    ADD_MONTHS(SYSDATE,7)
    22/11/03
    
    select first_name,hire_date,add_months(hire_date,10) from employees;
    
    FIRST_NAME	HIRE_DATE	ADD_MONTHS(HIRE_DATE,10)
    Steven	03/06/17	04/04/17
    

     

  • NEXT_DAY(‘기준날짜’,’찾을요인’)
    • 해당되는 날짜를 변환하는 함수
    • 일,월,화,수,목,금,토(=1,2,3,4,5,6,7)

 

  • 지금 시점에서 가장 가까운 일요일
    select next_day(sysdate,'1') from dual;
    select next_day(sysdate,'일요일')from dual;
    
    NEXT_DAY(SYSDATE,'일요일')
    22/04/10
    
  • 이전 일요일
    select next_day(sysdate-6,'일요일')from dual;
    
    NEXT_DAY(SYSDATE,'일요일')
    22/04/10
    

카테고리:

업데이트:

댓글남기기