생일, 마감일, 영업일처럼 하루 단위 의미는 DATE로 충분하다.
DATE & TIME
저장하려는 시간의 의미가 타입을 결정한다
날짜만 필요한 값, 지역 시각이 중요한 값, 전 세계에서 같은 순간을 가리켜야 하는 값은 서로 다른 타입 전략이 필요하다.
예약 시간처럼 현지 표시가 중요하면 DBMS별 DATETIME 의미를 확인한다.
로그와 이벤트는 UTC 저장 또는 시간대 보존 타입을 우선 검토한다.
| DBMS | DATE | 날짜+시간 | 시간대 |
|---|---|---|---|
| Oracle | 시분초 포함 | TIMESTAMP | WITH TIME ZONE |
| MySQL | 날짜만 | DATETIME, TIMESTAMP | TIMESTAMP는 UTC 변환 |
| PostgreSQL | 날짜만 | TIMESTAMP | TIMESTAMPTZ |
운영 질문: 입력 시간대, 저장 기준, 조회 표시 기준을 먼저 정해야 DBMS를 바꿔도 같은 순간을 같은 의미로 읽을 수 있다.