Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2024/4 »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30


오라클에서 초단위 이하의 밀리세컨드 처리를 위해선 TIMESTAMP형을 사용해야 한다.
9i에서 추가된것 같다.

주로사용하는 DATE형은 초까지의 정보만 입력된다.

문자열의 날짜입력시
DATE형은
insert into TABLE_NAME (COL_NAME) values (to_date('20100723152301', 'YYYYMMDDHH24MISS'));
TIMESTAMP형은
insert into TABLE_NAME (COL_NAME) values (to_timestamp('20100723152301123', 'YYYYMMDDHH24MISSFF'));
-> 밀리세컨드를 3자리로 지정하여 표현하고 싶다면 FF3을, 4자리로 표현하고 싶다면 FF5를, 이와 같은 형식으로 바꾸어주면 된다.

포맷팅 해서 소숫점단위의 초를 보려면 FF 엘리먼트를 사용한다. TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH:MM:SS.FF4')
ex) select to_char(COL_NAME, 'YYYY-MM-DD HH:MM:SS.FF4') temp_date from TABLE_NAME;

현재시간 입력시
DATE형은 SYSDATE를
TIMESTAMP는 SYSTIMESTAMP를 사용하면 된다.
 


이 Timestamp 타입의 문제는 연산하기가 만만치 않다는 겁니다. 보통 Date 타입에서는 초단위까지 더하거나 뺄 때 sysdate + 1/24/60/60 까지 가능한데, Timestamp 타입은 초단위 까지는 이런 방식대로 가능한데, 이런 식으로 밀리초를 계산할 수가 없습니다. 따로 INTERVAL 이라는 키워드를 이용해서 하는데, 예를 들어 이런 식이져...
SELECT TO_CHAR(SYSTIMESTAMP, 'MI.SS.FF4')
  , TO_CHAR(SYSTIMESTAMP + INTERVAL  '0 01:01:01.0100' DAY TO SECOND, 'MI.SS.FF4')  from dual;






'프로그래밍 > Database' 카테고리의 다른 글

[Oracle] 중복데이터 체크  (0) 2010.07.23
DB에서 Null체크  (0) 2010.05.20
[Oracle] Process수 늘리기(동시접속)  (0) 2010.05.12
ERWin-ERD  (0) 2010.03.23
[Oracle] 사용자 추가  (0) 2010.03.11
: