04.날짜 함수
날짜 함수
- 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
댓글남기기