SQL/ORACLE
[ORACLE 스킬] 오라클(Oracle) 날짜(DATE) 처리
nineDeveloper
2017. 10. 30. 18:42
728x90
반응형
ORACLE(오라클) DATE TYPE
오라클에서 날짜를 표현하는 데이터 타입이다. 내부적으로는 7 바이트(byte)의 고정길이 숫자로 관리되어 진다.
숫자로 구성되어 있기 때문에 '+', '-' 연산이 가능하다. 그러나 예외적으로 '날짜(DATE) - 날짜(DATE)' 연산은
불가능하다. 예를들면,
1 2 3 4 5 6 7 | -- 가능한 연산 SELECT SYSDATE + 1 FROM DUAL; SELECT SYSDATE - 1 FROM DUAL; SELECT SYSDATE - SYSDATE FROM DUAL; -- 불가능한 연산 (ORA-00975: 날짜와 날짜의 가산은 할 수 없습니다.) SELECT SYSDATE + SYSDATE FROM DUAL; |
날짜(DATE)관련 함수
자주 사용되는 날짜관련 함수 몇 개를 소개한다.
ADD_MONTH(DATE, NUMBER) | DATE에 NUMBER 만큼의 월을 더한다. |
MONTHS_BETWEEN(DATE, DATE) | 두 DATE 사이의 개월 차이를 반환한다. |
NEXT_DAY(DATE, NUMBER) | DATE 이후에 해당하는 요일의 DATE를 반환. 1(일요일)~7(토요일) |
LAST_DAY(DATE) | DATE에 해당하는 월의 마지막 DATE를 반환. |
TO_CHAR(DATE, ['FORMAT']) | DATE를 FORMAT에 맞는 문자열 형식으로 반환. |
TO_DATE(CHAR, ['FORMAT']) | 문자열 형식을 FORMAT에 맞는 DATE 타입으로 반환. |
[참고] FORMAT : YYYY(년도), MM(월), DD(일), HH24(시간), MI(분), SS(초) - 다양한 format이 더 존재함.
날짜(DATE) 비교
1 2 | -- 날짜기간 조회 (0.99999 또는 1-1/24/60/60) 여기서 1은 1일이라고 보시면 됨 날짜컬럼 BETWEEN TO_DATE( '20130101' , 'YYYYMMDD' ) AND TO_DATE( '20130131' , 'YYYYMMDD' )+0.99999
|
출처: http://devhome.tistory.com/71 [미주엘의 개발이야기]
728x90
반응형