728x90
반응형

일상적으로 날짜를 사용하는 경우

  • 10월 23일 +3은 10월 26일
  • 10월 23일 -3은 10월 23일
  • 10월 23일 -10월 20일은 3일 차이 난다 라고 생각한다.

이렇게 

  • 날짜 + 숫자 = 날짜
  • 날짜 - 숫자 = 날짜
  • 날짜 - 날짜 = 숫자
  • 오라클에서도 마찬가지로 인식

 

함수명 의미 결과
SYSDATE 시스템의 현재 날짜와 시간 날짜
MONTHS_BETWEEN 두 날짜 사이의 개월 수  숫자
ADD_MONTHS 주어진 날짜에 개월을 더함 날짜
NEXT_DAY 주어진 날짜를 기준으로 돌아오는 날짜 출력 날짜
LAST_DAY 주어진 날짜가 속한 달의 마지막 날짜 출력 날짜
ROUND 주어진 날짜를 반올림 날짜

TRUNC 주어진 날짜를 버림 날짜

 

 

1. SYSDATE 함수

  • 현재 시스템의 시간을 출력해 주는 함수
  • 오라클에서는 보통 날짜 체계가 미국을 기준으로 되어 있어서 우리나라와 형식이 다르게 출력된다.
  • 형식을 맞추려면 아래와 같은 명령어 사용
alter session set NLS_DATE_FORMAT='YYYY-MM-DD:HH24:MI:SS';
alter session set NLS_DATE_FORMAT='YYYY-MM-DD:HH24:MI:SS';

SELECT SYSDATE FROM dual;

[그림1] SYSDATE 함수

 

2. MONTHS_BETWEEN 함수

  • 두 날짜를 입력 받아서 두 날짜 사이의 개월 수를 출력하는 함수
SELECT MONTHS_BETWEEN('2012-03-01','2012-01-01') FROM dual;

[그림2] MONTHS__BETWEEN 함수

  • 앞에 작은 숫자가 오면 음수로 나온다.

 

3. ADD_MONTHS 함수

  • 주어진 날짜에 숫자만큼의 달을 추가하는 함수
SELECT SYSDATE, ADD_MONTHS(SYSDATE, 3) from dual;

[그림3] ADD_MONTHS 함수

 

 

4. NEXT_DAY 함수

  • 주어진 날짜를 기준으로 돌아오는 가장 최근 요일의 날짜를 반환해주는 함수
SELECT SYSDATE, NEXT_DAY(SYSDATE, 'MON'), NEXT_DAY(SYSDATE, 6) FROM dual;

 

 

5. LAST_DAY 함수

  • 주어진 날짜가 속한 달의 가장 마지막 날을 출력해주는 함수
SELECT SYSDATE, LAST_DAY(SYSDATE) from dual;

[그림4] LAST_DAY 함수

 

 

6. 날짜의 ROUND, TRUNC 함수

  • 날짜 ROUND는 하루의 반에 해당되는 시간 낮(정오) 12:00:00에 해당하는 시간을 넘어서면 다음 날짜로 출력하고 이 시간이 안될 경우 당일로 출력한다.
  • TRUNC 함수는 무조건 당일로 출력한다.
SELECT SYSDATE, ROUND(SYSDATE), TRUNC(SYSDATE) from dual;

[그림5] ROUND, TRUNC 함수

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기