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 |
용량이 크다 문자로 처리할때 서비스 타겟이 "한국" 아마도? 빠른 속도가 필요할때 (저장값 그대로 읽음) |
용량이 작다 숫자로 처리할때 서비스 타겟이 "외국" |