select sysdate from dual;
# sysdate는 현재 날짜 출력
Bash
복사
select last_name, SYSDATE-hire_date from employees;
# 나온 값은 일수이다.
# db에는 현재 시간 분 초까지 저장 되어있기 때문에 네이버 계산기와 오차가 있다.
Bash
복사
select last_name, (SYSDATE-hire_date)/7 from employees;
# 날짜끼리는 연산자 -만 사용 가능
Bash
복사
select last_name, SYSDATE+10 from employees;
# 날짜에다가 더하기와 빼기만 된다.
Bash
복사
select last_name, SYSDATE-10 from employees;
Bash
복사
select MONTHS_BETWEEN('01-SEP-05', '11-JAN-04') from dual;
# 두 날짜의 달 차이
Bash
복사
select ADD_MONTHS(SYSDATE, 12) from dual;
# 현재 날짜에 12달 더하기
Bash
복사
select NEXT_DAY(SYSDATE, 'FRIDAY') from dual;
# 현재날짜에 가장 빠른 금요일 찾기 (오늘 날짜 제외)
Bash
복사
select LAST_DAY(SYSDATE) from dual;
# 현재 월의 가장 마직막 날짜 찾기
Bash
복사
select ROUND(SYSDATE, 'MONTH') from dual;
# 일수를 보고 반이 넘었다면, 한달을 넘기고 출력
Bash
복사
select TRUNC(SYSDATE, 'MONTH') from dual;
# 달 내림
Bash
복사
select ENAME, TRUNC(SYSDATE - hiredate) as WORKING_DAYS from emp;
# 고용된 날짜부터 현재 날짜까지 계산 후 내림
Bash
복사
select ENAME, MONTHS_BETWEEN(SYSDATE, hiredate) as WORKING_MONTHS from emp;
# 고용된 날짜부터 오늘까지 총 몇달 근무했는지 계산
Bash
복사
select add_months(sysdate, 100) from dual;
# 현재 날짜부터 100달뒤 계산
Bash
복사
select NEXT_DAY(ADD_MONTHS(sysdate, 100),'MONDAY') from dual;
# 오늘부터 100달 뒤에 돌아오는 첫 월요일 날짜 계산
Bash
복사
