[Oracle] 단일함수 - 날짜함수

chael_lo·2021년 6월 30일
0

Oracle

목록 보기
10/17

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;


오라클에 접속된 사용자 환경(세션: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;

profile
천천히 꾸준히

0개의 댓글