이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

B.1. 사설 토토/시간 입력 해석

날짜/시간 유형 입력은 모두 다음을 사용하여 디코딩됩니다. 절차.

  1. 입력 문자열을 토큰으로 나누고 각각 분류하십시오 문자열, 시간, 시간대 또는 숫자로서의 토큰.

    1. 숫자 토큰에 콜론이 포함 된 경우 (:), 이것은 시간 문자열입니다. 모두 포함하십시오 후속 숫자와 콜론.

    2. 숫자 토큰에 대시가 포함 된 경우 (-), 슬래시 (/), 또는 둘 이상의 점 (.),이 텍스트 달이있을 수있는 사설 토토 문자열입니다. 사설 토토 인 경우 토큰이 이미 보였고 대신 해석됩니다 시간대 이름으로 (예 :America/New_York).

    3. 토큰이 숫자 만 있으면 단일 필드 또는 ISO 8601 연결 사설 토토 (예 :199901131999 년 1 월 13 일) 또는 시간 (예 :14151614:15:16).

    4. 토큰이 Plus (로 시작하는 경우+) 또는 마이너스 (-), 그러면 숫자 시간입니다 구역 또는 특별 필드.

  2. 토큰이 텍스트 문자열 인 경우 가능한 일치 문자열 :

    1. 토큰에 대한 이진 검색 테이블 조회를 시간대 약어.

    2. 발견되지 않은 경우 유사한 이진 검색 테이블을 수행하십시오 특별한 문자열로 토큰을 일치시키기위한 조회 (예 :오늘), Day (예 :목요일), 월 (예 :1 월) 또는 노이즈 워드 (예 :at, on).

    3. 아직 찾을 수없는 경우 오류를 던지십시오.

  3. 토큰이 숫자 또는 숫자 필드 일 때 :

    1. 8 ~ 6 자리가있는 경우, 다른 사람이없는 경우 날짜 필드는 이전에 읽은 다음 해석되었습니다 A로"연결 사설 토토"(예 :19990118또는990118). 해석은yyyymmdd또는yymmdd.

    2. 토큰이 3 자리이고 1 년이 이미있는 경우 읽은 다음 해를 해석했습니다.

    3. 4 ~ 6 자리와 1 년이 이미 있다면 읽기, 그런 다음 시간으로 해석하십시오 (HHMM또는HHMMSS).

    4. 3 자리 이상이고 날짜 필드가 아직없는 경우 발견 된 것은 1 년으로 해석됩니다 (이는 YY-MM-DD를 강요합니다 나머지 날짜 필드의 주문).

    5. 그렇지 않으면 사설 토토 필드 주문이 가정됩니다 따르십시오Datestyle설정 : MM-DD-YY, DD-MM-YY 또는 YY-MM-DD. a가 오류를 던지십시오 월 또는 일일 필드는 범위를 벗어난 것으로 밝혀졌습니다.

  4. BC가 지정된 경우 연도를 부정하고 하나를 추가하십시오. 내부 저장 용. (해에는 제로가 없습니다 Gregorian 캘린더이므로 기원전 1 년은 숫자로 1 년이됩니다 영.)

  5. BC가 지정되지 않은 경우, 연도 필드가 2 인 경우 길이가 숫자를 한 다음 해를 4 자리로 조정하십시오. 만약에 필드는 70 미만이고 2000을 추가하고 그렇지 않으면 추가하십시오. 1900.

    팁 :Gregorian Years AD 1-99가 입력 될 수 있습니다 선행 0과 함께 4 자리를 사용하여 (예 :0099IS AD 99).