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 employeesFIRST_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/03select 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
댓글남기기