본문 바로가기

DataBase

MySQL 날짜 처리

MySQL에서 날짜를 처리 할때,

 

 

-DATE : 날짜 부분에 사용 된다

   '***YYYY-MM-DD***' '1000-01-01' '9999-12-31'

 

 

 

-DATETIME : 날짜와 시간 부분을 모두 포함 한다.

   ('***YYYY-MM-DD hh:mm:ss***' '1000-01-01 00:00:00' '9999-12-31 23:59:59')

  • 문자형
  • 8byte
  • MySQL 설정에서 time_zone에 의존 하지 않는다. - 저장한 값을 그대로 출력한다.

   

 

 

-TIMESTAMP : 날짜와 시간 부분을 모두 포함한다. *UCT에서 UTC timestamp 범위 까지 있다.

 ('***YYYY-MM-DD hh:mm:ss***' '1970-01-01 00:00:01' '2038-01-19 03:14:07') 

  • 숫자형
  • 4byte
  • MySQL 설정에서 time_zone에 의존 한다. - 입력된 시간을 기반으로 그 정보를 *UTC로 변환해서 저장 한다.

 

(*UTC란?

Coordinated Universal Time (협정세계시) 국제적인 표준 시간의 기준으로 쓰이는 시각이다.

한국은 UTC+9시간대 이므로, UTC 시간에 +9해주면 한국 환산 시간이 나온다.)

 

 

 

“DATETIME” 과 “TIMESTAMP”현재 날짜와 시간에 자동 초기화 및 업데이트를 제공한다.

CREATE TABLE 테이블명(
DT DATETIME DEFAULT CURRRNT_TIMESTAMP,
TS TIMESTAMP DEFAULT CURRRNT_TIMESTAMP
);

 

 

DATETIME TIMESTAMP
용량이 크다
문자로 처리할때
서비스 타겟이 "한국"

아마도? 빠른 속도가 필요할때
(저장값 그대로 읽음)
용량이 작다
숫자로 처리할때
서비스 타겟이 "외국"