DATE & TIME

저장하려는 시간의 의미가 타입을 결정한다

날짜만 필요한 값, 지역 시각이 중요한 값, 전 세계에서 같은 순간을 가리켜야 하는 값은 서로 다른 타입 전략이 필요하다.

날짜만

생일, 마감일, 영업일처럼 하루 단위 의미는 DATE로 충분하다.

지역 시각

예약 시간처럼 현지 표시가 중요하면 DBMS별 DATETIME 의미를 확인한다.

절대 시각

로그와 이벤트는 UTC 저장 또는 시간대 보존 타입을 우선 검토한다.

DBMS DATE 날짜+시간 시간대
Oracle 시분초 포함 TIMESTAMP WITH TIME ZONE
MySQL 날짜만 DATETIME, TIMESTAMP TIMESTAMP는 UTC 변환
PostgreSQL 날짜만 TIMESTAMP TIMESTAMPTZ

운영 질문: 입력 시간대, 저장 기준, 조회 표시 기준을 먼저 정해야 DBMS를 바꿔도 같은 순간을 같은 의미로 읽을 수 있다.