[Oracle]単一関数-日付関数


SYSDATE


システムの現在の日付と時刻情報のキーワードを指定します.
日付値は表面上は[RR/MM/DD]形式で表されるが、内部は日付と時間情報で表される.
SELECT SYSDATE FROM DUAL;

ADD MONTHS(日付値、数値値)


日付値を数値値に渡す月数加算の日付値を返す関数です.
SELECT SYSDATE,ADD_MONTHS(SYSDATE,5) FROM DUAL;

NEXT DAY(日付値、曜日)


これは、日付値を渡すことで、最近の週の特定の日付値を返す関数です.
SELECT SYSDATE,NEXT_DAY(SYSDATE,'토') FROM DUAL;

日付と時刻情報は、Oracleに接続されているユーザー環境(セッション: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;

TRUNC(日付値、単位を表す)


必要な単位に日付値を渡し、残りの値を初期値に変換して返される関数です.
SELECT SYSDATE,TRUNC(SYSDATE,'MONTH'),TRUNC(SYSDATE,'YEAR') FROM DUAL;

日付値は演算できます。


日付値+数値=日付値>>日数増加

SELECT SYSDATE,SYSDATE+7 FROM DUAL;

日付値+数値値/24=日付値>>増加時間

SELECT SYSDATE,SYSDATE+100/24 FROM DUAL;

日付値-数値=日付値>>日減少

SELECT SYSDATE,SYSDATE-7 FROM DUAL;

日付値-数値/24=日付値>>時間短縮

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;