데이터베이스
2017. 5. 11. 18:02
SQL의 실행 시간 측정등 밀리 세컨드 단위의 정밀한 작업이 필요한 곳에 TIMESTAMP 데이터 타입을 사용하죠!
그렇다면, TIMESTAMP 형식으로 등록된 데이터의 비교연산은 어떻게 할까요?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | -- TIMESTAMP 연산을 위한 2개의 COLUMN이 포함된 테이블을 생성합니다. CREATE TABLE TB_TIME_STAMP( FROM_TIME TIMESTAMP, TO_TIME TIMESTAMP ) ; -- 생성된 테이블에 TIMESTAMP 형식의 데이터를 등록합니다. INSERT INTO SCOTT.TB_TIME_STAMP(FROM_TIME, TO_TIME) VALUES(SYSTIMESTAMP - 1/24, SYSTIMESTAMP) ; -- 마직막으로 아래처럼 TIMESTAMP 연산을 수행하여 시간차이를 초단위로 변환합니다. SELECT EXTRACT(HOUR FROM DT) * 3600 + EXTRACT(MINUTE FROM DT) * 60 + EXTRACT(SECOND FROM DT) AS DIFF_TIME FROM ( SELECT TO_TIME - FROM_TIME AS DT FROM SCOTT.TB_TIME_STAMP ) ; | cs |
참고로, 위의 SYSTIMESTAMP - 1/24의 의미는 현재 시간에서 1시간 전의 값을 의미합니다.
그래서 두 컬럼의 연산 결과는 항상 3600.XXX가 되겠죠!
'데이터베이스' 카테고리의 다른 글
오라클 권한 조회 (0) | 2017.06.28 |
---|---|
오라클 계정과 권한 (0) | 2017.06.23 |
오라클 TABLESPACE와 DATAFILE (0) | 2017.06.16 |
오라클 - PIVOT과 UNPIVOT (0) | 2017.02.02 |
오라클의 동적 PL SQL 작성 - EXECUTE IMMEDIATE (0) | 2017.01.24 |