[펌글] [오라클] 날짜 관련 함수 (년, 월, 일 더하기 빼기 등등)

By | 4월 4, 2009

[출처] [오라클] 날짜 관련 함수. (대박몰 프로젝트) |작성자 그리드맨

2.1 날짜를 다양하기 표시하기

- 날짜를 yyyy/mm/dd 형태로 표시하기
   SELECT TO_CHAR(to_date('92-FEB-16','YY-MON-DD'), 'yyyy/mm/dd') FROM dual;

 

2.2 날짜에 대한 반올림/반내림 값 구하기

- 날짜 중에 일(dd)에 대한 반올림
   SELECT ROUND(to_date('92-FEB-16','YY-MON-DD'), 'DAY') FROM dual;

- 날짜 중에 월(mm)에 대한 반올림
   SELECT ROUND (to_date('92-FEB-16','YY-MON-DD'), 'MONTH') FROM dual;

- 날짜 중에 년(yy)에 대한 반올림
   SELECT ROUND (to_date('92-FEB-16','YY-MON-DD'), 'YEAR') FROM dual;

- 날짜 중에 일(dd)에 대한 반내림
   SELECT TRUNC(to_date('92-FEB-16','YY-MON-DD'), 'DAY') FROM dual;

- 날짜 중에 월(mm)에 대한 반내림
   SELECT TRUNC (to_date('92-FEB-16','YY-MON-DD'), 'MONTH') FROM dual;

- 날짜 중에 년(yy)에 대한 반내림
   SELECT TRUNC (to_date('92-FEB-16','YY-MON-DD'), 'YEAR') FROM dual;

2.3 날짜에 대한 덧셈 연산하기

- 날짜 중에 일(dd)를 더하기 위해서
   SELECT to_date(’92-JUN-27’, ‘YY-MON-DD’) + 1 FROM dual

- 날짜 중에 월(mm)을 더하기 위해서
   SELECT ADD_MONTHS(to_date(’92-JUN-27’, ‘YY-MON-DD’),1) FROM dual;

- 날짜 중에 년(yy)을 더하기 위해서
   SELECT ADD_MONTHS(to_date(’92-JUN-27’, ‘YY-MON-DD’),12) FROM dual;

- 주어진 날짜로부터 다음 번에 나오는 월요일을 구하기 위해서
   SELECT next_day (to_date(’92-JUN-27’, ‘YY-MON-DD’) , ‘Monday’) FROM dual;

2.4 날짜에 대한 뺄셈 연산하기

- 날짜 중에 일(dd)를 빼기 위해서
   SELECT to_date(’92-JUN-27’, ‘YY-MON-DD’) - 1 FROM dual

- 날짜 중에 월(mm)을 빼기 위해서
   SELECT ADD_MONTHS(to_date(’92-JUN-27’, ‘YY-MON-DD’),-1) FROM dual;

- 날짜 중에 년(yy)을 빼기 위해서
   SELECT ADD_MONTHS(to_date(’92-JUN-27’, ‘YY-MON-DD’),-12) FROM dual;

- 두 날짜 사이의 일 수 계산 하기
   SELECT to_date(’92-JUN-29’, ‘YY-MON-DD’) - to_date(’92-JUN-27’, ‘YY-MON-DD’) FROM dual;

- 두 날짜 사이의 월 수 계산 하기
   SELECT MONTHS_BETWEEN(to_date(’92-JUN-29’, ‘YY-MON-DD’), to_date(’92-JUN-27’, ‘YY-MON-DD’)) FROM dual;

- 두 날짜 사이의 년 수 계산 하기

   SELECT days(date('92-JUN-26'), date(’92-OCT-29’)) / 365.254
   SELECT (to_date(’92-JUN-29’, ‘YY-MON-DD’) – to_date(’92-JUN-27’, ‘YY-MON-DD’) ) /365.254 FROM dual;

 

2.5 날짜에 대한 요일/월 이름 구하기
- 주어진 날짜에서 요일 구하기

   SELECT TO_CHAR(to_date('92-06-29','YY-MM-DD'), 'DAY') FROM dual;
   SELECT TO_CHAR (to_date('92-06-29','YY-MM-DD'), 'DY') FROM dual;

- 주어진 날짜에서 월 이름 구하기

   SELECT TO_CHAR(to_date('92-06-29','YY-MM-DD'), 'MONTH') FROM dual;
   SELECT TO_CHAR(to_date('92-06-29','YY-MM-DD'), 'MON') FROM dual;

 

2.6 날짜에 대한 일/월 구하기
- 주어진 날짜에서 일 구하기
   SELECT TO_NUMBER(to_char(to_date('92-06-29','YY-MM-DD'), 'DD')) FROM dual;

- 주어진 날짜에서 요일을 수로 구하기
   SELECT TO_NUMBER(to_char(to_date('92-06-29','YY-MM-DD'), 'D')) FROM dual;

- 주어진 날짜에서 월 구하기
   SELECT TO_NUMBER(to_char(to_date('92-06-29','YY-MM-DD'), 'MM')) FROM dual;

2.7 현재 일자 구하기

   SELECT SYSDATE FROM dual;
   SELECT CURRENT_DATE FROM dual;

2.8 해당 월의 마지막 날짜 구하기
   SELECT LAST_DAY(sysdate) FROM dual;

2.9 NEW_TIME

   NEW_TIME ( date-expression, timezone, new timezone )

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments