Oracle의 날짜/시간 관련 데이터 타입
- DATE
- 가장 기본적인 날짜 타입
- 날짜와 시간을 모두 저장 (YYYY-MM-DD HH:MI:SS)
- 초단위까지만 저장 가능
- 연도 범위: -4712 ~ 9999
- 기본 날짜 형식: DD-MON-YY
CREATE TABLE example (
start_date DATE
);
INSERT INTO example VALUES (TO_DATE('2024-02-07 14:30:00', 'YYYY-MM-DD HH24:MI:SS'));
- TIMESTAMP
- DATE보다 더 정밀한 시간 저장 가능
- 나노초(fractional_seconds_precision)까지 저장 가능
- 정밀도는 0~9까지 지정 가능 (기본값 6)
-- 나노초 정밀도 3으로 설정
CREATE TABLE example (
created_at TIMESTAMP(3)
);
-- WITH TIME ZONE: 시간대 정보 포함
CREATE TABLE example2 (
created_at TIMESTAMP WITH TIME ZONE
);
- TIMESTAMP WITH TIME ZONE
- 타임존 정보를 포함하여 저장
- 데이터베이스 시간대와 무관하게 정확한 시점 저장 가능
INSERT INTO example2
VALUES (TIMESTAMP '2024-02-07 14:30:00 +09:00');
- TIMESTAMP WITH LOCAL TIME ZONE
- 데이터는 데이터베이스의 시간대로 저장
- 조회 시 세션의 시간대에 맞춰 자동 변환