SYSDATE
현재 시스템의 날짜를 반환한다.
ROUND(date, format)
날짜를 format에 따라 반올림한다.
TRUNC(date, format)
날짜를 format에 따라 잘라낸다.
SQL> SELECT SYSDATE 오늘, SYSDATE+1 내일, SYSDATE-1 어제 FROM DUAL; 오늘 내일 어제 -------- -------- -------- 12/07/09 12/07/10 12/07/08 SQL> SELECT ROUND(SYSDATE - HIREDATE) AS 근무일수 FROM EMP; 근무일수 ---------- 11527 11462 11460 11421 11242 11392 11353 9213 11192 11262 9179 11176 11176 11125 10087 15 개의 행이 선택되었습니다. SQL> SELECT (HIREDATE), ROUND(HIREDATE,'MONTH') FROM EMP; HIREDATE ROUND(HI -------- -------- 80/12/17 81/01/01 81/02/20 81/03/01 81/02/22 81/03/01 81/04/02 81/04/01 81/09/28 81/10/01 81/05/01 81/05/01 81/06/09 81/06/01 87/04/19 87/05/01 81/11/17 81/12/01 81/09/08 81/09/01 87/05/23 87/06/01 81/12/03 81/12/01 81/12/03 81/12/01 82/01/23 82/02/01 84/11/26 84/12/01 15 개의 행이 선택되었습니다. SQL> SELECT HIREDATE, TRUNC(HIREDATE, 'MONTH') FROM EMP; HIREDATE TRUNC(HI -------- -------- 80/12/17 80/12/01 81/02/20 81/02/01 81/02/22 81/02/01 81/04/02 81/04/01 81/09/28 81/09/01 81/05/01 81/05/01 81/06/09 81/06/01 87/04/19 87/04/01 81/11/17 81/11/01 81/09/08 81/09/01 87/05/23 87/05/01 81/12/03 81/12/01 81/12/03 81/12/01 82/01/23 82/01/01 84/11/26 84/11/01 15 개의 행이 선택되었습니다.
MONTHS_BETWEEN(최근날짜, 비교날짜)
날짜와 날짜 사이의 개월수를 구해준다.
SQL> SELECT ENAME, SYSDATE, HIREDATE, TRUNC( MONTHS_BETWEEN (SYSDATE, HIREDATE) ) FROM EMP; ENAME SYSDATE HIREDATE TRUNC(MONTHS_BETWEEN(SYSDATE,HIREDATE)) ---------- -------- -------- --------------------------------------- SMITH 12/07/09 80/12/17 378 ALLEN 12/07/09 81/02/20 376 WARD 12/07/09 81/02/22 376 JONES 12/07/09 81/04/02 375 MARTIN 12/07/09 81/09/28 369 BLAKE 12/07/09 81/05/01 374 CLARK 12/07/09 81/06/09 373 SCOTT 12/07/09 87/04/19 302 KING 12/07/09 81/11/17 367 TURNER 12/07/09 81/09/08 370 ADAMS 12/07/09 87/05/23 301 JAMES 12/07/09 81/12/03 367 FORD 12/07/09 81/12/03 367 MILLER 12/07/09 82/01/23 365 홍길동 12/07/09 84/11/26 331 15 개의 행이 선택되었습니다.
날짜와 날짜 사이의 총 개월수를 구할 수 있다.
단순한 날짜 차이는 날짜끼리 빼주는 것으로 쉽게 구할 수 있음은 위의 예를 통해 이미 확인했다.
ADD_MONTHS(날짜, 더할 개월 수)
SQL> SELECT ENAME, HIREDATE, ADD_MONTHS(HIREDATE, 6) FROM EMP; ENAME HIREDATE ADD_MONT ---------- -------- -------- SMITH 80/12/17 81/06/17 ALLEN 81/02/20 81/08/20 WARD 81/02/22 81/08/22 JONES 81/04/02 81/10/02 MARTIN 81/09/28 82/03/28 BLAKE 81/05/01 81/11/01 CLARK 81/06/09 81/12/09 SCOTT 87/04/19 87/10/19 KING 81/11/17 82/05/17 TURNER 81/09/08 82/03/08 ADAMS 87/05/23 87/11/23 JAMES 81/12/03 82/06/03 FORD 81/12/03 82/06/03 MILLER 82/01/23 82/07/23 홍길동 84/11/26 85/05/26 15 개의 행이 선택되었습니다.
NEXT_DAY(date, 요일)
해당 날짜에서 입력한 요일에 가장 가까운 날짜를 date 형식으로 반환
LAST_DAY(date)
해당 날짜가 속한 달의 마지막 날을 반환한다.
SQL> SELECT HIREDATE 입사일, LAST_DAY(HIREDATE) 마지막날짜 FROM EMP; 입사일 마지막날 -------- -------- 80/12/17 80/12/31 81/02/20 81/02/28 81/02/22 81/02/28 81/04/02 81/04/30 81/09/28 81/09/30 81/05/01 81/05/31 81/06/09 81/06/30 87/04/19 87/04/30 81/11/17 81/11/30 81/09/08 81/09/30 87/05/23 87/05/31 81/12/03 81/12/31 81/12/03 81/12/31 82/01/23 82/01/31 84/11/26 84/11/30 15 개의 행이 선택되었습니다.