시스템의 현재 날짜와 시간정보를 제공하는 키워드다.
날짜값은 표면적으로 [RR/MM/DD] 형식으로 표현되지만 내부적으로는 날짜와 시간정보로 표현한다.
SELECT SYSDATE FROM DUAL;
날짜값을 전달받아 숫자값만큼의 개월수를 더한 날짜값을 반환하는 함수다.
SELECT SYSDATE,ADD_MONTHS(SYSDATE,5) FROM DUAL;
날짜값을 전달받아 다가오는 특정 요일의 날짜값을 반환하는 함수다.
SELECT SYSDATE,NEXT_DAY(SYSDATE,'토') FROM DUAL;
오라클에 접속된 사용자 환경(세션:SESSION)에 따라 날짜와 시간정보를 다르게 표현한다.
--세션의 날짜 표현 언어 변경
ALTER SESSION SET NLS_LANGUAGE='AMERICAN';
SELECT SYSDATE,NEXT_DAY(SYSDATE,'SAT') FROM DUAL;
ALTER SESSION SET NLS_LANGUAGE='KOREAN';
SELECT SYSDATE,NEXT_DAY(SYSDATE,'토') FROM DUAL;
날짜값을 전달받아 원하는 단위까지만 표현하고 나머지는 최초값으로 변환하여 반환하는 함수다.
SELECT SYSDATE,TRUNC(SYSDATE,'MONTH'),TRUNC(SYSDATE,'YEAR') FROM DUAL;
SELECT SYSDATE,SYSDATE+7 FROM DUAL;
SELECT SYSDATE,SYSDATE+100/24 FROM DUAL;
SELECT SYSDATE,SYSDATE-7 FROM DUAL;
SELECT SYSDATE,SYSDATE-100/24 FROM DUAL;
SELECT EMPNO,ENAME,HIREDATE,SYSDATE-HIREDATE FROM EMP WHERE EMPNO=7499;
SELECT EMPNO,ENAME,HIREDATE,CEIL(SYSDATE-HIREDATE)||'일' "근속일자" FROM EMP WHERE EMPNO=7499;