[others] sql timestamp vs datetime

EMMA·2022년 4월 12일
0
post-custom-banner

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
post-custom-banner

0개의 댓글