728x90

Date and Time Data Types (8.4)

시간 값을 나타내는 날짜 및 시간 데이터 유형은 DATE, TIME, DATETIME, TIMESTAMP, YEAR이 있다. "ZERO" 값을 사용하여 값을 명시적으로 저장하거나 참조할 수 있다.

 

DATE TYPE "ZERO" VALUE
DATE '0000-00-00'
TIME '00:00:00'
DATETIME '0000-00-00 00:00:00'
TIMESTAMP '0000-00-00 00:00:00'
YEAR 0000

 

  • MySQL 날짜는 항상 년-월-일 순서이다. 이 순서를 변경하려면 STR_TO_DATE()를 사용해야 한다.
  • 연도 값이 2자리일 경우, MySQL의 세기 기준은 다음과 같다.
    • 70-99 : 1970-1999
    • 00-69 : 2000-2069
  • 값이 숫자형 컨텍스트에서 사용되면 날짜나 시간 값을 자동으로 숫자로 변환하며,그 반대도 마찬가지이다.
  • 기본적으로 범위를 벗어나거나 유형에 유효하지 않은 날짜나 시간을 발견하면 해당 유형의 "ZERO" 값으로 변환한다.
  • MySQL은 "더미 날짜"로 "0" 값을 저장할 수 있도록 허용한다. 이 경우 DATE, DATETIME에 저장할 수 있다.
  • 0을 허용하지 않으려면 DATE_SUB(), DATE ADD(), NO_ZERO_IN_DATE를 활성화해야 한다.
  • NULL ODBC가 이러한 값을 처리할 수 없기 때문에 Connector/ODBC를 통해 사용되는 "0" 날짜 또는 시간 값은 자동으로 변환된다.