반응형
오라클에서 to_timestamp 함수를 사용한 날짜 및 시간 변환
세 가지 to_timestamp 함수 비교
-- 현재 시간을 밀리초까지 표현
SELECT to_timestamp(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS.FF3') FROM dual;
-- 현재 시간을 마이크로초까지 표현
SELECT to_timestamp(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS.FF9') FROM dual;
-- 현재 시간을 초 단위까지 표현
SELECT to_timestamp(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS') FROM dual;
1. to_timestamp(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS.FF3')
- 기능 : 현재 시스템 시간(SYSDATE)을 "년-월-일 T시:분:초. 밀리초(3자리)" 형식의 TIMESTAMP 데이터 타입으로 변환합니다.
- "T" : ISO 8601 표준에서 날짜와 시간을 구분하는 데 사용되는 문자입니다.
- "FF3" : 소수점 아래 3자리까지의 밀리초를 나타냅니다. 즉, 1/1000초 단위의 정밀도를 가지는 시간 값으로 변환됩니다.
2. to_timestamp(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS.FF9')
- 기능 : 1번과 동일하게 현재 시스템 시간을 TIMESTAMP로 변환하지만, "FF9"를 사용하여 소수점 아래 9자리까지의 마이크로초를 나타냅니다.
- "FF9" : 1/1,000,000초 단위의 정밀도를 가지는 시간 값으로 변환됩니다. 즉, 1번보다 더욱 정밀한 시간 정보를 얻을 수 있습니다.
3. to_timestamp(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS')
- 기능 : 1번과 2번과 마찬가지로 현재 시스템 시간을 TIMESTAMP로 변환하지만, 소수점 이하를 생략하여 초 단위까지만 표현합니다.
- "FF" 부분 생략 : 밀리초나 마이크로초를 나타내는 부분이 없으므로, 초 단위까지의 정밀도만 가지는 시간 값으로 변환됩니다.
각 함수의 사용 시 고려 사항
- 정밀도 : 필요한 시간의 정밀도에 따라 적절한 함수를 선택해야 합니다. 밀리 초까지의 정밀도가 필요하면 1번, 마이크로초까지 필요하면 2번, 초 단위만 필요하면 3번을 사용하면 됩니다.
- 시간대 : Oracle 데이터베이스의 시간대 설정에 따라 결과 값이 달라질 수 있습니다.
- 데이터베이스 버전 : 사용하는 Oracle 데이터베이스 버전에 따라 지원되는 형식이 다를 수 있습니다.
※ to_timestamp 함수를 사용하여 SYSDATE를 TIMESTAMP 데이터 타입으로 변환할 때, 두 번째 인수인 포맷 마스크를 통해 원하는 정밀도와 형식으로 시간 값을 얻을 수 있습니다. 어떤 함수를 사용할지는 데이터를 처리하는 목적과 요구되는 정밀도에 따라 결정하면 됩니다.
반응형
'db > oracle' 카테고리의 다른 글
Oracle DECODE 함수 (0) | 2025.01.21 |
---|---|
sysdate timestamp 형 변환 (1) | 2025.01.20 |
Tomcat 9.0.98 미만 버전 보안 취약점 (0) | 2025.01.19 |
oracle 프로시저 예외 처리 (0) | 2025.01.19 |
oracle mssql truncate table 비교 (0) | 2025.01.18 |