[오라클 날짜함수: MONTHS_BETWEEN, SYSDATE, TODAY, LAST_DAY, NEXT_DAY]

1. select name, lastlogin, lastlogin+30, lastlogin-30, lastlogin+365,
             lastlogin+5/24, lastlogin-8/24 from member where id = 'jsoh2';
--member테이블에서 id가 jsoh2위치하는 name, lastlogin 2개의 컬럼을 뿌려주고,
--lastlogin 컬럼의 값에 +30일을 출력, -30일을 출력, +365일을 출력,
--5시간 더한 값을 출력, 8시간 뺀 값을 출력

2. select months_between('2008/11/25', '2001/08/12') "기간" from dual;
--월 단위로 날짜 연산을 하는 함수
--개월간의 차이: 87.4193548387097개월, 약 87개월
3. SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL;
--월 단위로 날짜 연산을 하는 함수
4. select ID, JOINDATE, MONTHS_BETWEEN(SYSDATE, JOINDATE) TENURE,
            ADD_MONTHS(JOINDATE, 6) REVIEW FROM MEMBER
   WHERE id = 'jsoh2' and MONTHS_BETWEEN(SYSDATE, JOINDATE) < 120;
--member테이블에서 id가 jsoh2위치하는 id, joindate 2개의 컬럼을 뿌려주고,
--tenure컬럼에는 현재날짜(sysdate)-회원가입한날(joindate)를 계산한 개월수 출력하고,
--review컬럼에는 회원가입한날(joindate)에서 6개월 이후의 값을 출력
5. select sysdate from dual;
--현재시간
6. SELECT SYSDATE TODAY, LAST_DAY(SYSDATE) LASTDAY FROM dual ;
--해당 날짜가 속한 달의 마지막 날짜를 반환하는 함수
7. SELECT NEXT_DAY(sysdate, 'sunday') from dual
--해당 일을 기준으로 명시된 요일의 다음 날짜를 변환하는 함수

 

※ 아래 이미지 3개는 전부 같은 내용을 담고 있다.

[날짜함수: MONTHS_BETWEEN, SYSDATE, TODAY, LAST_DAY, NEXT_DAY] 

1번
출력결과
NAME LASTLOGIN LASTLOGIN+30 LASTLOGIN-30 LASTLOGIN+365 LASTLOGIN+5/24 LASTLOGIN-8/24
홍길동 2008-07-10 15:37:25 2008-08-09 15:37:25 2008-06-10 15:37:25 2009-07-10 15:37:25 2008-07-10 20:37:25 2008-07-10 07:37:25
2번
출력결과
기간
1900-03-27 10:03:52
3번
출력결과
ADD_MONTHS(SYSDATE,5)
2009-04-25 17:23:13
4번
출력결과
ID JOINDATE TENURE REVIEW
jsoh2 2008-07-10 15:36:35 1900-01-04 11:40:13 2009-01-10 15:36:35
5번
출력결과
SYSDATE
2008-11-25 17:23:13
6번
출력결과
TODAY LASTDAY
2008-11-25 17:23:14 2008-11-30 17:23:14
7번
출력결과
NEXT_DAY(SYSDATE,'SUNDAY')
2008-11-30 17:23:14

[출처] 오라클 MONTHS_BETWEEN, SYSDATE, TODAY, LAST_DAY, NEXT_DAY 날짜함수|작성자 오렌지


'개발 > ORCLE' 카테고리의 다른 글

DBMS_JOB의 활용  (0) 2009.03.05
오라클 INTERVAL  (0) 2009.03.05
오라클 랜덤, 중복제거  (0) 2008.11.18
오라클 VIEW  (0) 2008.11.18
오라클 서브쿼리  (0) 2008.11.12
블로그 이미지

쭈니후니

개발자로서 공부와 낚시를 좋아하는 한사람으로서의 추억을 담을 블로그입니다.

,