[MySQL] Datetime과 Timestamp의 차이

hukim·2020년 11월 29일
2

MySQL

목록 보기
2/4

DATE 타입

DATE 타입은 날짜는 포함하지만 시간은 포함하지 않을때 사용하는 타입입니다.
DATE 타입은 YYYY-mm-dd 형식 입력가능하며 1000-01-01부터 9999-12-31까지만 입력가능합니다.

DATETIME 타입

DATETIME 타입은 날짜와 시간을 모두 포함할 때 사용하는 타입입니다. MySQL에서는 YYYY-mm-dd HH:MM:SS 형식 입력으로 1000-01-01 00:00:00부터 9999-12-31 23:59:59까지 입력가능합니다.

TIME 타입

TIME 타입은 HH:MM:SS 으로 시간에 대한 정보를 담는 타입입니다. TIME은 -838:59:59부터 838:59:59까지 가질 수 있습니다.

TIMESTAMP 타입

TIMESTAMP 타입은 날짜와 시간모두를 포함하는 타입입니다.
범위로는 1970-01-01 00:00:01 부터 2038-01-19 03:14:07 UTC 까지 표현할 수 있습니다.

DATETIME과 TIMESTAMP

1. 타입

  • DATTIME은 문자형
  • TIMESTAMP는 숫자형

2. 저장되는 공간

  • DATETIME은 8byte
  • TIMESTAMP는 4byte

3. 자동입력 여부

  • DATETIME은 수정할 일이 있으면 그때마다 날짜를 입력해줘야 하지만
  • TIMESTAMP는 날짜를 따로 입력안해도 자동으로 입력이 가능합니다.(CURRENT_TIMESTAMP)

4. 시간대 정보

  • DATETIME은 time_zone에 영향을 받지 않기 때문에 타임존에 관계없이 처음 입력한 값을 출력
  • TIMESTAMP는 타임존에 영향을 받기 때문에 time_zone 시스템 변수에 입력된 시간대 정보를 기반으로 데이터를 입력받아 그 정보를 UTC로 변환하여 저장

0개의 댓글