• 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(언어구조)
  • 1. 리터럴 값
    1. 문자열 리터럴
    2. 숫자 리터럴
    3. 날짜 리터럴과 시간 리터럴
    4. 16 진수 리터럴
    5. boolean 리터럴
    6. 비트 필드 리터럴
    7. NULL 값
    2. 스키마 개체 이름
    3. 예약어
    4. 사용자 정의 변수
    5. 식의 구문
    6. 댓글 구문
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 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 새로운 기능

9.1.3 날짜 리터럴과 시간 리터럴

날짜 값과 시간 값은 값의 정확한 형태와 다른 요인에 따라 인용 된 문자열이나 숫자 등 여러 형식으로 표현할 수 있습니다. 예를 들어, MySQL이 날짜를 예상하는 맥락에서, '2015-07-21' , '20150721' , 20150721 의 모두 날짜로 해석합니다.

이 섹션에서는 날짜 리터럴과 시간 리터럴 허용되는 형식에 대해 설명합니다. 허용되는 값의 범위 등 시간 데이터 형식의 자세한 내용은 다음 섹션을 참조하십시오.

  • 섹션 11.1.2 "날짜 및 시간 형식 요약"

  • 11.3 절 "날짜 및 시간 형"

표준 SQL과 ODBC 날짜 및 시간 리터럴 SQL 표준 형식 키워드 및 문자열을 사용하여 시간 리터럴을 지정할 수 있습니다. 키워드와 문자열 사이의 공백은 옵션입니다.

 DATE ' str '
 TIME ' str '
 TIMESTAMP ' str '

MySQL은 이러한 구조 및 해당 ODBC 구문을 인식합니다.

 {d ' str '}
 {t ' str '}
 {ts ' str '}

MySQL 5.6.4 이전에는, MySQL은 형태 키워드를 무시하고 이전의 각 구조, 형태가 VARCHAR 문자열 값 ' str ' 을 생성합니다.

5.6.4 이후, MySQL은 형태 키워드를 사용하여 이러한 구조는 각각 후속 소수 초 부분이 지정된 경우이 부분을 포함 DATE , TIME 및 DATETIME 값을 생성합니다. DATETIME 은 표준 SQL의 TIMESTAMP 형 더 가깝게 대응하는 범위가 있으며, 여기에는 0001 에서 9999 년 범위가 포함되므로, TIMESTAMP 구문은 MySQL에서 DATETIME 값을 생성합니다. (MySQL의 TIMESTAMP 년 범위는 1970 에서 2038 입니다.)

일시 컨텍스트에서 문자열 리터럴과 숫자 리터럴 MySQL은 다음 형식으로 DATE 값을 인식합니다.

  • 'YYYY-MM-DD' 또는 'YY-MM-DD' 형식의 문자열로. "완만 한"구문이 허용됩니다. 어떤 구두점 문자도 날짜 부분 사이의 구분 기호로 사용할 수 있습니다. 예를 들어, '2012-12-31' , '2012/12/31' , '2012^12^31' 및 '2012@12@31' 은 동일합니다.

  • 'YYYYMMDD' 또는 'YYMMDD' 형식의 구분 문자가없는 문자열 (날짜로서 적절한 것)로. 예를 들어, '20070523' 과 '070523' 는 '2007-05-23' 로 해석되지만, '071332' 는 올바르지 않기 때문에 (달과 일이 부적절), '0000-00-00' 입니다 합니다.

  • YYYYMMDD 또는 YYMMDD 형식의 수치 (일자로서 적절한 것)로. 예를 들어, 19830905 과 830905 은 '1983-09-05' 로 해석됩니다.

MySQL은 다음 형식으로 DATETIME 과 TIMESTAMP 값을 인식합니다.

  • 'YYYY-MM-DD HH:MM:SS' 또는 'YY-MM-DD HH:MM:SS' 형식의 문자열로. "완만 한"구문은 여기에서도 허용됩니다. 어떤 구두점 문자도 날짜 부분 또는 시간 부분 사이의 구분 기호로 사용할 수 있습니다. 예를 들어, '2012-12-31 11:30:45' , '2012^12^31 11+30+45' ' '2012/12/31 11*30*45' 및 '2012@12@31 11^30^45' 은 동일합니다.

    날짜 및 시간 부분과 소수 초 부분 사이의 구분 기호로 인식되는 유일한 문자가 소수점입니다.

    날짜 부분과 시간 부분은 공백이 아닌 T 로 구분할 수 있습니다. 예를 들어, '2012-12-31 11:30:45' 과 '2012-12-31T11:30:45' 은 동일합니다.

  • 'YYYYMMDDHHMMSS' 또는 'YYMMDDHHMMSS' 형식의 구분 문자가없는 문자열 (날짜로서 적절한 것)로. 예를 들어, '20070523091528' 과 '070523091528' 는 '2007-05-23 09:15:28' 로 해석되지만, '071122129015' 는 잘못되어 (분 부분이 잘못된) '0000-00-00 00:00:00' 입니다.

  • YYYYMMDDHHMMSS 또는 YYMMDDHHMMSS 형식의 수치 (일자로서 적절한 것)로. 예를 들어, 19830905132800 과 830905132800 는 '1983-09-05 13:28:00' 로 해석됩니다.

DATETIME 또는 TIMESTAMP 값은 마이크로 초 (6 자리)까지의 정밀도 후속 소수 초 부분을 포함 할 수 있습니다. 소수는 항상 시간의 나머지 부분에서 소수점으로 구분해야합니다. 이외의 소수 초 단락 문자는 인식되지 않습니다. MySQL의 소수 초 지원 자세한 내용은 섹션 11.3.6 "시간 값의 소수 초" 를 참조하십시오.

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

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

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

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

날짜 부분 구분 문자를 포함하는 문자열로 지정되는 값의 경우, 10 미만 달 또는 일의 값에 2 자리를 지정할 필요가 없습니다. '2015-6-9' 는 '2015-06-09' 와 같습니다. 마찬가지로, 시간 부분 구분 문자를 포함하는 문자열로 지정되는 값의 경우, 10 미만의시, 분 또는 초 값에 2 자리를 지정할 필요가 없습니다. '2015-10-30 1:2:3' 는 '2015-10-30 01:02:03' 와 같습니다.

숫자로 지정하는 값은 6,8,12,14 중 하나 자릿수하도록하십시오. 숫자 8 자리 또는 14 자리의 길이로하면 YYYYMMDD 또는 YYYYMMDDHHMMSS 형식이며, 최초의 4 자리수가 해이라고 상정됩니다. 숫자 6 자리 또는 12 자리의 길이로하면 YYMMDD 또는 YYMMDDHHMMSS 형식이며, 최초의 2 자리수가 해이라고 상정됩니다. 이 길이가 아닌 숫자는 가장 가까운 길이까지 선행 0으로 채워져있는 것처럼 해석됩니다.

구분 문자가없는 문자열로 지정된 값은 그 길이에 따라 해석됩니다. 8 또는 14 자 길이의 문자열의 경우 연도는 처음 4 글자로 표현하는 것으로 간주됩니다. 그렇지 않으면, 해는 첫 두 글자로 표현하는 것으로 간주됩니다. 문자열은 문자열에 존재하는 유일한 부분, 왼쪽에서 오른쪽으로 순서대로 년, 월, 일,시, 분, 초로 해석됩니다. 이것은 6 자 미만 문자열은 사용하지 말아야한다는 것을 의미합니다. 예를 들어, 1999 년 3 월을 나타낸다고 생각 '9903' 를 지정하면, MySQL은 '제로'날짜 값으로 변환합니다. 이것은 연도와 월의 값은 99 과 03 이더라도, 일 부분이 완전히 누락되어 있기 때문에 발생합니다. 그러나 명시 적으로 값 제로를 지정하여 누락 된 달과 일 부분을 나타낼 수 있습니다. 예를 들어, '1999-03-00' 값을 삽입하려면 '990300' 를 사용합니다.

MySQL은 다음 형식으로 TIME 값을 인식합니다.

  • 'D HH:MM:SS' 형식의 문자열로. 'HH:MM:SS' , 'HH:MM' , 'D HH:MM' , 'D HH' , 'SS' 중 하나 "느슨한"구문도 사용할 수 있습니다. 이 경우 D 는 일을 나타내며 0에서 34의 값을 지정할 수 있습니다.

  • 'HHMMSS' 형식의 구분 문자가없는 문자열 (시간으로서 적절한 것)로. 예를 들어, '101112' 은 '10:11:12' 으로 인식되지만, '109712' 는 잘못되어 (분 부분이 부적절), '00:00:00' 입니다.

  • HHMMSS 형식의 수치 (시간으로서 적절한 것)로. 예를 들어, 101112 은 '10:11:12' 으로 인식됩니다. SS , MMSS , HHMMSS 의 대체 형식도 인식됩니다.

후속 소수 초 부분은 'D HH:MM:SS.fraction' , 'HH:MM:SS.fraction' , 'HHMMSS.fraction' 및 HHMMSS.fraction 시간 형식으로 인식됩니다. 여기서 fraction 은 마이크로 초 (6 자리)까지의 정밀도로 표현되는 소수 부분입니다. 소수는 항상 시간의 나머지 부분에서 소수점으로 구분해야합니다. 이외의 소수 초 단락 문자는 인식되지 않습니다. MySQL의 소수 초 지원 자세한 내용은 섹션 11.3.6 "시간 값의 소수 초" 를 참조하십시오.

시간 부분 구분 문자를 포함하는 문자열로 지정되는 TIME 값의 경우 10 미만의시, 분, 초 값에 2 자리를 지정할 필요가 없습니다. '8:3:2' 는 '08:03:02' 와 같습니다.

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