• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 1. 데이터 형식 요약
    2. 수치형
    3. 날짜와 시간 형
    1. DATE, DATETIME, 그리고 TIMESTAMP 형
    2. TIME형
    3. YEAR형
    4. YEAR (2)의 제한 및 YEAR (4)로 전환
    5. TIMESTAMP 및 DATETIME 자동 초기화 및 업데이트 기능
    6. 시간 값의 소수 초
    7. 날짜 및 시간 형식 간의 변환
    8. 날짜에서 2 자리 연도
    4. 문자열
    5. 공간 데이터의 확장
    6. 데이터 형 기본값
    7. 데이터 유형의 스토리지 요구 사항
    8. 컬럼에 적절한 형태의 선택
    9. 기타 데이터베이스 엔진의 데이터 형식 사용
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

11.3 날짜와 시간 형

11.3.1 DATE, DATETIME, 그리고 TIMESTAMP 형
11.3.2 TIME 형
11.3.3 YEAR 형
11.3.4 YEAR (2)의 제한 및 YEAR (4)로 전환
11.3.5 TIMESTAMP 및 DATETIME 자동 초기화 및 업데이트 기능
11.3.6 시간 값의 소수 초
11.3.7 날짜 및 시간 형식 간의 변환
11.3.8 날짜에서 2 자리 연도

시간 값을 나타 내기위한 날짜와 시간 형식은 DATE , TIME , DATETIME , TIMESTAMP 및 YEAR 입니다. 각각의 시간 형은 일정 범위의 유효한 값 외에, MySQL에서는 나타낼 수없는 잘못된 값을 지정할 때 사용할 수있는 '제로'값이 있습니다. TIMESTAMP 형은 후술하는 바와 같이 특수 자동 업데이트가 있습니다. 시간 형 스토리지 요구 사항은 섹션 11.7 "데이터 유형의 스토리지 요구 사항" 을 참조하십시오.

날짜와 시간 형식을 처리 할 때 다음 사항에 유의하십시오.

  • MySQL은 표준 출력 형식으로 소정의 날짜 또는 시간 형식의 값을 얻을 수 있지만, (예를 들어, 날짜 또는 시간 형식에 매핑하거나 비교하거나 값을 지정할 때) 입력 한 입력 값에 대해 다양한 형식을 해석하려고합니다. 날짜와 시간 형식에 허용되는 형식의 설명은 섹션 9.1.3 "날짜 리터럴과 시간 리터럴" 을 참조하십시오. 유효한 값을 입력해야합니다. 다른 형식으로 값을 사용하면 예기치 않은 결과가 발생할 수 있습니다.

  • MySQL은 여러 형태로 값을 해석하려고하지만, 날짜 부분은 다른 곳에서는 일반적으로 사용되는 월 - 일 - 년이나 일 - 월 - 년 순 ( '09-04-98' 나 '04-09-98' 등) 대신 년 - 월 - 일의 순서 ( '98-09-04' 등)에서 항상 지정해야합니다.

  • 두 자리 연도를 포함한 날짜 값은 세기가 알 수 없기 때문에 모호합니다. MySQL은 다음 규칙을 사용하여 2 자리 연도 값을 해석합니다.

    • 70-99 범위의 값은 1970-1999 로 변환됩니다.

    • 00-69 범위의 값은 2000-2069 로 변환됩니다.

    섹션 11.3.8 "날짜에서 2 자리 연도" 를 참조하십시오.

  • 있는 시간 형식에서 다른 시간 형식으로 값 변환은 섹션 11.3.7 "날짜 및 시간 형식 간의 변환" 의 규칙에 따라 이루어집니다.

  • MySQL은 자동으로 값이 숫자 컨텍스트에서 사용되는 경우 날짜 또는 시간 값을 숫자로 또는 그 반대로 변환합니다.

  • 기본적으로 MySQL은 날짜 또는 시간 형식의 값 범위 밖인지, 그 이외 형태에있어서 무효 인 값을 찾으면 값을 그 형태의 「제로」값으로 변환합니다. 예외가 범위를 벗어난 TIME 값은 TIME 범위의 적절한 종점에 잘려 있습니다.

  • SQL 모드를 적절한 값으로 설정하면 MySQL이 지원하는 날짜의 종류를보다 정확하게 지정할 수 있습니다. ( 섹션 5.1.7 "서버 SQL 모드" 를 참조하십시오.) ALLOW_INVALID_DATES SQL 모드를 활성화함으로써 '2009-11-31' 등의 특정 날짜를 MySQL에 받아 들인 수 있습니다. 이것은 사용자가 향후 처리를 위해 (예를 들어 Web 양식) 지정한 '잘못하고있을 가능성이있다 "값을 데이터베이스에 저장할 때 유용합니다. 이 모드에서는, MySQL은 달이 1에서 12까지의 범위 내에 있는지와 날짜가 1에서 31까지의 범위에 있는지 만 확인합니다.

  • MySQL은 DATE 또는 DATETIME 컬럼에 일이 제로 또는 월과 일이 제로인 날짜의 저장을 허용하고 있습니다. 이것은 정확한 날짜를 알고 있지 않을 가능성있는 생년월일을 저장해야하는 응용 프로그램에 유용합니다. 이 경우는 단순히 날짜를 '2009-00-00' 또는 '2009-01-00' 로 저장합니다. 이러한 날짜를 저장하는 경우 DATE_SUB() 와 DATE_ADD() 등의 완전한 날짜를 필요로하는 함수가 정확한 결과가 반환되는 것은 기대하지 마십시오. 날짜 제로 달 또는 일의 부분을 해제하려면 NO_ZERO_IN_DATE SQL 모드를 활성화합니다.

  • MySQL은 "더미 날짜 '로 '0000-00-00' 의 '제로'의 값을 저장할 수 있습니다. 경우에 따라서는 이것은 NULL 값을 사용하여보다 편리하고 사용하는 데이터 및 인덱스 공간이 줄어 듭니다. '0000-00-00' 을 해제하려면 NO_ZERO_DATE SQL 모드를 활성화합니다.

  • Connector / ODBC에서 사용되는 "제로"날짜 또는 시간 값은 ODBC가 이러한 값을 처리 할 수 없으므로 NULL 로 자동 변환됩니다.

다음 표에서는 각 유형의 "제로"값의 형식을 나타냅니다. "제로"값은 특별하지만 표에 표시된 값을 사용하여 저장하거나 명시 적으로 참조 할 수 있습니다. 또한 더 쉽게 작성할 수 '0' 과 0 의 값을 사용하여 작업을 수행 할 수 있습니다. 날짜 부분 ( DATE , DATETIME , 그리고 TIMESTAMP )을 포함한 시간 형식은 NO_ZERO_DATE SQL 모드가 활성화되면이 값을 사용하면 경고가 발생합니다.

Data 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'
YEAR0000

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved