[others] sql timestamp vs datetime

EMMA·2022년 4월 12일
0

sql의 timestamp, datetime의 차이점


데이터베이스 작성 시, 시간 관련해서 대표적으로 사용되는 2가지 데이터타입이 있다.
바로 datetime과 timestamp.

datetime은 새로 추가하는 날짜와 시간을 그대로 반환하는데,
timestamp는 timezone을 반영한 날짜와 시간을 반환한다.

즉 timestamp는 무조건 UTC(협정세계시)가 적용되며 timezone 설정에 따라
반환값이 영향 받는 것이다.

그래서 만약 timezone을 Asia/Seoul로 한다면, +9시간이 적용된 날짜/시간이 반환된다.

공식 문서에 따르면, 각 데이터타입의 supported range는 아래와 같다.

  • datetime: '1000-01-01 00:00:00' to '9999-12-31 23:59:59'
  • timestamp: '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC

About UTC...

인류는 태양을 기준으로 시간을 계산해왔는데,
평균태양시를 최초로 측정한 곳은 영국의 그리니치 천문대다. 여기서 탄생한 것이 GMT.
이 때 평균태양시는 지구의 공전을 고려해 계산한 것.

그런데 지구의 자전 또한 속도가 불규칙한 것이 밝혀지면서, 좀 더 정교한 시간 작업이 필요하게 되었다.
그래서 태양시계 대신 원자시계를 기준으로 삼게 되었으며 이것이 UTC다.
(원자시계는 훨씬 더 정밀한 계산을 하기 때문 - 지구의 자전 속도를 반영)

profile
예비 개발자의 기술 블로그 | explore, explore and explore

0개의 댓글