| 윈 토토 : 문서 : 9.4 : 윈 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 이진 토토 핫 유형 | PostgreSQL : 문서 : 9.4 : 데이터 메이저 토토 사이트 | 8장. 데이터 유형 | 메이저 토토 사이트 |
포스트그레SQL전체 세트 지원SQL날짜 및 범퍼카 토토 유형, 다음에 표시됨표 8-9. 이러한 데이터 유형에 사용할 수 있는 작업은에 설명되어 있습니다.PostgreSQL : 문서 : 9.4 : 날짜/윈 토토 기능 및 연산자. 날짜는 그레고리력이 도입되기 몇 년 전이라도 그레고리력에 따라 계산됩니다(참조PostgreSQL : 문서 : 9.4 : 단위의 배트맨 토토자세한 내용은).
표 8-9. 날짜/범퍼카 토토 유형
| 이름 | 저장소 크기 | 설명 | 낮은 값 | 높은 가치 | 해결 |
|---|---|---|---|---|---|
| 타임스탬프 [ (p) ] [ 범퍼카 토토대 없음 ] | 8바이트 | 날짜 및 범퍼카 토토 모두(범퍼카 토토대 없음) | 기원전 4713년 | 서기 294276년 | 1마이크로초/14자리 |
| 타임스탬프 [ (p) ] 범퍼카 토토대 포함 | 8바이트 | 날짜 및 범퍼카 토토 모두, 범퍼카 토토대 포함 | 기원전 4713년 | 서기 294276년 | 1마이크로초/14자리 |
| 날짜 | 4바이트 | 날짜(범퍼카 토토 없음) | 기원전 4713년 | 5874897 AD | 1일 |
| 범퍼카 토토 [ (p) ] [ 범퍼카 토토대 없음 ] | 8바이트 | 범퍼카 토토(날짜 없음) | 00:00:00 | 24:00:00 | 1마이크로초/14자리 |
| 범퍼카 토토 [ (p) ] 범퍼카 토토대 포함 | 12바이트 | 범퍼카 토토대만, 범퍼카 토토대 포함 | 00:00:00+1459 | 24:00:00-1459 | 1마이크로초/14자리 |
| 간격 [필드 ] [ (p) ] | 16바이트 | 범퍼카 토토 간격 | -178000000년 | 178000000년 | 1마이크로초/14자리 |
참고:SQL 표준에서는 다음과 같이 작성해야 합니다.타임스탬프다음과 동등함범퍼카 토토대 없는 타임스탬프및PostgreSQL그 행동을 존중합니다.timestamptz다음의 약어로 허용됩니다.범퍼카 토토대가 포함된 타임스탬프; 이것은포스트그레SQL확장.
범퍼카 토토, 타임스탬프및간격선택적 정밀도 값 허용p초 필드에 유지되는 소수 자릿수를 지정합니다. 기본적으로 정밀도에는 명시적인 제한이 없습니다. 허용되는 범위는p는 0부터 6까지입니다.타임스탬프그리고간격유형.
참고:언제타임스탬프값은 8바이트 정수(현재 기본값)로 저장되며 전체 값 범위에서 마이크로초 정밀도를 사용할 수 있습니다. 언제타임스탬프값은 대신 배정밀도 부동 소수점 숫자로 저장됩니다(더 이상 사용되지 않는 컴파일 범퍼카 토토 옵션). 유효 정밀도 제한은 6 미만일 수 있습니다.타임스탬프값은 2000-01-01 자정 전후의 초 단위로 저장됩니다. 언제타임스탬프값은 부동 소수점 숫자를 사용하여 구현되며, 2000-01-01로부터 몇 년 이내의 날짜에 대해서는 마이크로초 정밀도가 달성되지만 더 먼 날짜에 대해서는 정밀도가 저하됩니다. 부동 소수점 날짜/범퍼카 토토을 사용하면 더 넓은 범위의타임스탬프위에 표시된 값보다 표시되는 값: 기원전 4713년부터 서기 5874897년까지.
동일한 컴파일 범퍼카 토토 옵션으로 여부도 결정됩니다.범퍼카 토토그리고간격값은 부동 소수점 숫자 또는 8바이트 정수로 저장됩니다. 부동 소수점의 경우, 큰간격간격의 크기가 증가함에 따라 값의 정밀도가 저하됩니다.
다음을 위해범퍼카 토토유형, 허용 범위p8바이트 정수 저장소를 사용하는 경우 0~6이고, 부동 소수점 저장소를 사용하는 경우 0~10입니다.
그간격type에는 다음 문구 중 하나를 작성하여 저장된 필드 집합을 제한하는 추가 옵션이 있습니다.
연도 월 요일 HOUR 분 두 번째 매년 매일매일 하루에서 분까지 매일매일 범퍼카 토토에서 분까지 범퍼카 토토에서 초로 분에서 초까지
둘 다인 경우 참고필드그리고p지정되었습니다.필드반드시 포함두 번째, 정밀도는 초에만 적용되기 때문입니다.
유형범퍼카 토토대 포함 범퍼카 토토은(는) SQL 표준에 의해 정의되지만 이 정의는 유용성이 의심스러운 속성을 나타냅니다. 대부분의 경우 다음의 조합은날짜, 범퍼카 토토, 범퍼카 토토대가 없는 타임스탬프및범퍼카 토토대가 포함된 타임스탬프모든 애플리케이션에 필요한 전체 날짜/범퍼카 토토 기능을 제공해야 합니다.
유형절대그리고상대범퍼카 토토은 내부적으로 사용되는 낮은 정밀도 유형입니다. 애플리케이션에서는 이러한 유형을 사용하지 않는 것이 좋습니다. 이러한 내부 유형은 향후 릴리스에서 사라질 수 있습니다.
날짜 및 범퍼카 토토 입력은 ISO 8601을 포함한 거의 모든 합리적인 형식으로 허용됩니다.SQL-호환, 전통포스트그레스및 기타. 일부 형식의 경우 날짜 입력의 일, 월, 연도 순서가 모호하며 이러한 필드의 예상 순서를 지정하는 기능이 지원됩니다. 설정날짜 스타일매개변수 ~MDY월-일-년 해석을 선택하려면,DMY일-월-년 해석을 선택하거나YMD년-월-일 해석을 선택합니다.
PostgreSQL은보다 날짜/범퍼카 토토 입력 처리가 더 유연합니다.SQL표준이 필요합니다. 참조부록 B날짜/범퍼카 토토 입력의 정확한 구문 분석 규칙과 월, 요일 및 범퍼카 토토대를 포함한 인식된 텍스트 필드에 대한 정보입니다.
날짜 또는 범퍼카 토토 리터럴 입력은 텍스트 문자열처럼 작은따옴표로 묶어야 한다는 점을 기억하세요. 참조섹션 4.1.2.7더 많은 정보를 원하시면.SQL다음 구문이 필요합니다
유형 [ (p) ] '값'
어디에서p은 초 필드의 소수 자릿수를 제공하는 선택적 정밀도 사양입니다. 정밀도는 다음과 같이 지정할 수 있습니다.범퍼카 토토, 타임스탬프및간격유형. 허용되는 값은 위에 언급되어 있습니다. 상수 사양에 정밀도가 지정되지 않은 경우 기본값은 리터럴 값의 정밀도입니다.
표 8-10다음에 대한 몇 가지 가능한 입력을 보여줍니다.날짜유형.
표 8-10. 날짜 입력
| 예 | 설명 |
|---|---|
| 1999-01-08 | ISO 8601; 1월 8일 모든 모드(권장 형식) |
| 1999년 1월 8일 | 어떠한 경우에도 명확함날짜 스타일입력 모드 |
| 1/8/1999 | 1월 8일MDY모드; 8월 1일DMY모드 |
| 1/18/1999 | 1월 18일MDY모드; 다른 모드에서는 거부됨 |
| 01/02/03 | 2003년 1월 2일MDY모드; 2003년 2월 1일DMY모드; 2001년 2월 3일YMD모드 |
| 1999년 1월 8일 | 모든 모드에서 1월 8일 |
| 1999년 1월 8일 | 모든 모드에서 1월 8일 |
| 1999년 1월 8일 | 모든 모드에서 1월 8일 |
| 99년 1월 8일 | 1월 8일YMD모드, else 오류 |
| 99년 1월 8일 | 1월 8일, 오류 제외YMD모드 |
| 1999년 1월 8일 | 1월 8일, 오류 제외YMD모드 |
| 19990108 | ISO 8601; 1999년 1월 8일, 모든 모드에서 |
| 990108 | ISO 8601; 1999년 1월 8일, 모든 모드에서 |
| 1999.008 | 연도 및 일 |
| J2451187 | 율리우스 날짜 |
| 기원전 99년 1월 8일 | 기원전 99년 |
범퍼카 토토 유형은 다음과 같습니다.범퍼카 토토 [ (p) ] 범퍼카 토토대 없음그리고범퍼카 토토 [ (p) ] 범퍼카 토토대 포함. 범퍼카 토토혼자서는 다음과 같습니다범퍼카 토토대가 없는 범퍼카 토토.
이러한 유형에 대한 유효한 입력은 범퍼카 토토과 선택적 범퍼카 토토대로 구성됩니다. (참조표 8-11그리고표 8-12.) 다음에 대한 입력에 범퍼카 토토대가 지정된 경우범퍼카 토토대가 없는 범퍼카 토토, 자동으로 무시됩니다. 날짜를 지정할 수도 있지만 일광 절약 범퍼카 토토제 규칙과 관련된 범퍼카 토토대 이름을 사용하는 경우를 제외하고는 무시됩니다.미국/New_York. 이 경우 표준 범퍼카 토토 또는 일광 절약 범퍼카 토토 적용 여부를 결정하려면 날짜를 지정해야 합니다. 적절한 범퍼카 토토대 오프셋은에 기록됩니다.범퍼카 토토대 포함 범퍼카 토토값.
표 8-11. 범퍼카 토토 입력
| 예 | 설명 |
|---|---|
| 04:05:06.789 | ISO 8601 |
| 04:05:06 | ISO 8601 |
| 04:05 | ISO 8601 |
| 040506 | ISO 8601 |
| 오전 04:05 | 04:05와 동일; AM은 가치에 영향을 미치지 않습니다. |
| 오후 4시 5분 | 16:05와 동일; 입력 범퍼카 토토은 <= 12여야 합니다. |
| 04:05:06.789-8 | ISO 8601 |
| 04:05:06-08:00 | ISO 8601 |
| 04:05-08:00 | ISO 8601 |
| 040506-08 | ISO 8601 |
| 04:05:06 PST | 약어로 지정된 범퍼카 토토대 |
| 2003-04-12 04:05:06 America/New_York | 성명으로 지정된 범퍼카 토토대 |
표 8-12. 범퍼카 토토대 입력
| 예 | 설명 |
|---|---|
| PST | 약어(태평양 표준시) |
| 미국/New_York | 전체 범퍼카 토토대 이름 |
| PST8PDT | POSIX 스타일 범퍼카 토토대 지정 |
| -8:00 | PST용 ISO-8601 오프셋 |
| -800 | PST용 ISO-8601 오프셋 |
| -8 | PST용 ISO-8601 오프셋 |
| 줄루 | UTC의 군사 약어 |
| z | 약식줄루 |
참조섹션 8.5.3범퍼카 토토대 지정 방법에 대한 자세한 내용을 확인하세요.
타임스탬프 유형에 대한 유효한 입력은 날짜와 범퍼카 토토의 연결, 그 뒤에 선택적인 범퍼카 토토대, 그 뒤에 선택사항으로 구성됩니다.AD또는BC. (또는,AD/BC범퍼카 토토대 앞에 나타날 수 있지만 선호되는 순서는 아닙니다.) 따라서:
1999-01-08 04:05:06
그리고:
1999-01-08 04:05:06 -8:00
다음의 유효한 값입니다.ISO8601 표준. 또한 일반적인 형식은 다음과 같습니다.
1999년 1월 8일 04:05:06 PST
지원됩니다.
그SQL표준 차별화범퍼카 토토대 없는 타임스탬프그리고범퍼카 토토대가 포함된 타임스탬프a의 존재에 의한 리터럴"+"또는"-"범퍼카 토토 이후의 기호 및 범퍼카 토토대 오프셋. 따라서 표준에 따르면,
타임스탬프 '2004-10-19 10:23:54'
은범퍼카 토토대 없는 타임스탬프, 그동안
타임스탬프 '2004-10-19 10:23:54+02'
은범퍼카 토토대가 포함된 타임스탬프. PostgreSQL문자열의 유형을 결정하기 전에는 리터럴 문자열의 내용을 검사하지 않으므로 위의 두 가지를 모두 다음과 같이 처리합니다.범퍼카 토토대 없는 타임스탬프. 리터럴이 다음과 같이 처리되도록 하려면범퍼카 토토대가 포함된 타임스탬프, 올바른 명시적 유형을 지정하세요.
범퍼카 토토대 '2004-10-19 10:23:54+02'가 포함된 타임스탬프
다음으로 결정된 리터럴에서범퍼카 토토대 없는 타임스탬프, 포스트그레SQL모든 범퍼카 토토대 표시를 자동으로 무시합니다. 즉, 결과 값은 입력 값의 날짜/범퍼카 토토 필드에서 파생되며 범퍼카 토토대에 맞게 조정되지 않습니다.
용범퍼카 토토대가 포함된 타임스탬프, 내부에 저장된 값은 항상 UTC(Universal Coordinated Time, 전통적으로 그리니치 표준시로 알려져 있음)입니다.GMT). 명시적인 범퍼카 토토대가 지정된 입력 값은 해당 범퍼카 토토대에 대한 적절한 오프셋을 사용하여 UTC로 변환됩니다. 입력 문자열에 범퍼카 토토대가 명시되어 있지 않으면 시스템의 범퍼카 토토대에 지정된 것으로 간주됩니다.범퍼카 토토대매개변수이며,에 대한 오프셋을 사용하여 UTC로 변환됩니다.범퍼카 토토대구역.
때 a범퍼카 토토대가 포함된 타임스탬프값이 출력되며 항상 UTC에서 현재로 변환됩니다.범퍼카 토토대존이며 해당 존의 현지 범퍼카 토토으로 표시됩니다. 다른 범퍼카 토토대의 범퍼카 토토을 보려면 다음 중 하나를 변경하세요.범퍼카 토토대또는 다음을 사용하세요범퍼카 토토대구조물(참조섹션 9.9.3).
전환 사이범퍼카 토토대가 없는 타임스탬프그리고범퍼카 토토대가 포함된 타임스탬프일반적으로 다음과 같이 가정합니다.범퍼카 토토대가 없는 타임스탬프값은 다음과 같이 취하거나 주어져야 합니다.범퍼카 토토대현지 범퍼카 토토. 다음을 사용하여 변환을 위해 다른 범퍼카 토토대를 지정할 수 있습니다.범퍼카 토토대.
PostgreSQL다음과 같이 편의를 위해 여러 가지 특수 날짜/범퍼카 토토 입력 값을 지원합니다.표 8-13. 값무한대그리고-무한대특별히 시스템 내부에 표시되며 변경되지 않고 표시됩니다. 그러나 다른 것들은 읽을 때 일반적인 날짜/범퍼카 토토 값으로 변환되는 단순한 표기법 약어입니다. (특히,지금및 관련 문자열은 읽는 즉시 특정 범퍼카 토토 값으로 변환됩니다.) 이러한 값은 모두 SQL 명령에서 상수로 사용될 때 작은따옴표로 묶어야 합니다.
표 8-13. 특수 날짜/범퍼카 토토 입력
| 입력 문자열 | 유효한 유형 | 설명 |
|---|---|---|
| 에포크 | 날짜, 타임스탬프 | 1970-01-01 00:00:00+00 (Unix 시스템 범퍼카 토토 0) |
| 무한대 | 날짜, 타임스탬프 | 다른 모든 타임스탬프보다 늦음 |
| -무한대 | 날짜, 타임스탬프 | 다른 모든 타임스탬프보다 빠름 |
| 지금 | 날짜, 범퍼카 토토, 타임스탬프 | 현재 거래 시작 범퍼카 토토 |
| 오늘 | 날짜, 타임스탬프 | 자정(00:00) 오늘 |
| 내일 | 날짜, 타임스탬프 | 자정(00:00) 내일 |
| 어제 | 날짜, 타임스탬프 | 자정(00:00) 어제 |
| 모든 공 | 범퍼카 토토 | 00:00:00.00 UTC |
다음SQL-호환 함수를 사용하여 해당 데이터 유형에 대한 현재 범퍼카 토토 값을 얻을 수도 있습니다.CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, 현지범퍼카 토토, 현지타임스탬프. 후자 4개는 선택적 하위 정밀도 사양을 허용합니다. (참조섹션 9.9.4.) 이는 SQL 함수이며 다음과 같습니다.아님데이터 입력 문자열에서 인식됩니다.
날짜/범퍼카 토토 유형의 출력 형식은 ISO 8601 4가지 스타일 중 하나로 설정될 수 있습니다.SQL(Ingres), 전통포스트그레스(유닉스날짜형식) 또는 독일어. 기본값은ISO형식. (그SQL표준에서는 ISO 8601 형식을 사용해야 합니다. 의 이름"SQL"출력 형식은 역사적 사고입니다.)표 8-14각 출력 스타일의 예를 보여줍니다. 의 출력날짜그리고범퍼카 토토유형은 일반적으로 주어진 예에 따른 날짜 또는 범퍼카 토토 부분입니다. 그러나,포스트그레스style은 날짜 전용 값을 출력합니다.ISO형식.
표 8-14. 날짜/범퍼카 토토 출력 스타일
| 스타일 사양 | 설명 | 예 |
|---|---|---|
| ISO | ISO 8601, SQL 표준 | 1997-12-17 07:37:16-08 |
| SQL | 전통적인 스타일 | 1997년 12월 17일 07:37:16.00 PST |
| 포스트그레스 | 원래 스타일 | 1997년 12월 17일 수요일 07:37:16 PST |
| 독일어 | 지역 스타일 | 1997년 12월 17일 07:37:16.00 PST |
참고:ISO 8601은 대문자 사용을 규정합니다.T날짜와 범퍼카 토토을 구분합니다.포스트그레SQL입력 시 해당 형식을 허용하지만 출력 시 공백을 사용합니다.T, 위와 같습니다. 이는 가독성과 RFC 3339 및 기타 데이터베이스 시스템과의 일관성을 위한 것입니다.
에서SQL및 POSTGRES 스타일에서는 DMY 필드 순서가 지정된 경우 일이 월 앞에 표시되고, 그렇지 않으면 월이 일 앞에 표시됩니다. (참조섹션 8.5.1이 설정이 입력 값 해석에 어떤 영향을 미치는지 알아보세요.)표 8-15예시를 보여줍니다.
표 8-15. 날짜 순서 규칙
| 날짜 스타일설정 | 입력 순서 | 출력 예 |
|---|---|---|
| SQL, DMY | 일/월/년 | 1997년 17월 12일 15:37:16.00 CET |
| SQL, MDY | 월/일/년 | 1997년 12월 17일 07:37:16.00 PST |
| 포스트그레스, DMY | 일/월/년 | 1997년 12월 17일 수요일 07:37:16 PST |
날짜/범퍼카 토토 스타일은 다음을 사용하여 사용자가 선택할 수 있습니다.날짜 스타일 설정명령, 그날짜 스타일매개변수postgresql.conf구성 파일 또는PGDATESTYLE서버 또는 클라이언트의 환경 변수.
포맷 기능to_char(참조PostgreSQL : 문서 : 9.4 : 토토 사이트 순위 토토 사이트 순위 토토 사이트 순위 토토 사이트 순위 기능)는 날짜/범퍼카 토토 출력 형식을 지정하는 보다 유연한 방법으로도 사용할 수 있습니다.
범퍼카 토토대와 범퍼카 토토대 규칙은 지구 기하학뿐만 아니라 정치적 결정의 영향을 받습니다. 전 세계의 범퍼카 토토대는 1900년대에 어느 정도 표준화되었지만 특히 일광 절약 범퍼카 토토제 규칙과 관련하여 임의적인 변경이 계속 발생하는 경향이 있습니다.PostgreSQL과거 범퍼카 토토대 규칙에 대한 정보를 얻기 위해 널리 사용되는 IANA(Olson) 범퍼카 토토대 데이터베이스를 사용합니다. 미래에는 특정 범퍼카 토토대에 대해 알려진 최신 규칙이 먼 미래에도 무기한으로 계속 관찰될 것이라고 가정합니다.
포스트그레SQL다음과 호환되도록 노력합니다SQL일반적인 사용법에 대한 표준 정의. 그러나,SQL표준에는 날짜 및 범퍼카 토토 유형과 기능이 이상하게 혼합되어 있습니다. 두 가지 명백한 문제는 다음과 같습니다.
비록날짜유형은 연관된 범퍼카 토토대를 가질 수 없습니다.범퍼카 토토캔을 입력하세요. 실제 세계의 범퍼카 토토대는 날짜 및 범퍼카 토토과 연결되지 않는 한 거의 의미가 없습니다. 오프셋은 일광 절약 범퍼카 토토 경계에 따라 일년 내내 달라질 수 있기 때문입니다.
기본 범퍼카 토토대는 다음의 상수 숫자 오프셋으로 지정됩니다.UTC. 따라서 날짜/범퍼카 토토 산술을 수행할 때 일광 절약 범퍼카 토토제에 적응하는 것은 불가능합니다.DST경계.
이러한 문제를 해결하려면 범퍼카 토토대를 사용할 때 날짜와 범퍼카 토토을 모두 포함하는 날짜/범퍼카 토토 유형을 사용하는 것이 좋습니다. 우리는 그렇습니다아님다음 유형을 사용하는 것이 좋습니다범퍼카 토토대 포함 범퍼카 토토(비록 다음에서 지원되지만PostgreSQL레거시 애플리케이션 및 규정 준수를 위해SQL표준).PostgreSQL날짜 또는 범퍼카 토토만 포함하는 모든 유형에 대해 현지 범퍼카 토토대를 가정합니다.
모든 범퍼카 토토대 인식 날짜와 범퍼카 토토은 내부적으로 저장됩니다.UTC. 에서 지정한 범퍼카 토토대의 현지 범퍼카 토토으로 변환됩니다.범퍼카 토토대클라이언트에 표시되기 전의 구성 매개변수입니다.
PostgreSQL세 가지 다른 형식으로 범퍼카 토토대를 지정할 수 있습니다.
전체 범퍼카 토토대 이름, 예미국/New_York. 인식된 범퍼카 토토대 이름은 다음 목록에 나열되어 있습니다.pg_timezone_names보기(참조롤 토토 : 문서 : 9.4 : PG_TIMEZONE_NAMES). 포스트그레SQL이 목적을 위해 널리 사용되는 IANA 범퍼카 토토대 데이터를 사용하므로 동일한 범퍼카 토토대 이름이 다른 소프트웨어에서도 인식됩니다.
예를 들어 범퍼카 토토대 약어PST. 이러한 사양은 일광 절약 범퍼카 토토 전환 날짜 규칙 집합을 암시할 수 있는 전체 범퍼카 토토대 이름과 달리 UTC로부터의 특정 오프셋만 정의합니다. 인식된 약어는에 나열되어 있습니다.pg_timezone_abbrevs보기(참조토토 : 문서 : 9.4 : PG_TIMEZONE_ABBREVS). 구성 매개변수를 설정할 수 없습니다.범퍼카 토토대또는log_timezone범퍼카 토토대 약어를 사용하지만 날짜/범퍼카 토토 입력 값에 약어를 사용할 수 있으며범퍼카 토토대연산자.
범퍼카 토토대 이름 및 약어 외에도PostgreSQL다음 형식의 POSIX 스타일 범퍼카 토토대 사양을 허용합니다.성병오프셋또는성병오프셋DST, 여기서성병는 영역 약어입니다.오프셋는 UTC에서 서쪽으로 범퍼카 토토 단위의 숫자 오프셋입니다.DST는 선택적인 일광 절약 범퍼카 토토제 구역 약어이며, 지정된 오프셋보다 1범퍼카 토토 앞선 것으로 가정됩니다. 예를 들어, 만약EST5EDT아직 인식된 지역 이름이 아니므로 허용되며 기능적으로 미국 동부 해안 범퍼카 토토과 동일합니다. 이 구문에서 영역 약어는 문자열이거나 꺾쇠 괄호()로 묶인 임의의 문자열일 수 있습니다.<). 일광 절약 범퍼카 토토제 약어가 있는 경우 IANA 범퍼카 토토대 데이터베이스에서 사용되는 것과 동일한 일광 절약 범퍼카 토토 전환 규칙에 따라 사용되는 것으로 가정됩니다.posixrules항목. 표준에서PostgreSQL설치,posixrules다음과 같습니다미국/동부, POSIX 스타일 범퍼카 토토대 사양이 미국 일광 절약 범퍼카 토토제 규칙을 따르도록 합니다. 필요한 경우, 다음을 대체하여 이 동작을 조정할 수 있습니다.posixrules파일.
간단히 말하면, 이것이 약어와 전체 이름의 차이입니다. 약어는 UTC로부터의 특정 오프셋을 나타내는 반면, 많은 전체 이름은 현지 일광 절약 범퍼카 토토 규칙을 암시하므로 두 가지 가능한 UTC 오프셋이 있습니다. 예를 들어,2014-06-04 12:00 America/New_York는 뉴욕의 현지 범퍼카 토토 정오를 나타내며, 이 특정 날짜는 동부 일광 절약 범퍼카 토토(UTC-4)이었습니다. 그래서2014-06-04 12:00 EDT동일한 순간을 지정합니다. 하지만2014-06-04 12:00 EST해당 날짜에 일광 절약 범퍼카 토토제가 명목상 적용되었는지 여부에 관계없이 정오 동부 표준시(UTC-5)를 지정합니다.
문제를 복잡하게 만들기 위해 일부 관할권에서는 동일한 범퍼카 토토대 약어를 사용하여 서로 다른 범퍼카 토토에 서로 다른 UTC 오프셋을 의미합니다. 예를 들어 모스크바에서MSK어떤 해에는 UTC+3을 의미했고 다른 해에는 UTC+4를 의미했습니다.포스트그레SQL지정된 날짜에 의미한(또는 가장 최근에 의미했던) 내용에 따라 이러한 약어를 해석합니다. 하지만, 와 마찬가지로EST위의 예에서는 해당 날짜의 현지 상용시와 반드시 동일하지는 않습니다.
POSIX 스타일 범퍼카 토토대 기능은 범퍼카 토토대 약어의 합리성에 대한 확인이 없기 때문에 자동으로 가짜 입력을 허용할 수 있다는 점에 주의해야 합니다. 예를 들어,범퍼카 토토대를 FOOBAR로 설정0작동하여 UTC에 대한 다소 독특한 약어를 사용하여 시스템을 효율적으로 유지합니다. 명심해야 할 또 다른 문제는 POSIX 범퍼카 토토대 이름에서는 위치에 양수 오프셋이 사용된다는 것입니다.서쪽그리니치. 다른 곳에서는,PostgreSQL양의 범퍼카 토토대 오프셋이 다음과 같은 ISO-8601 규칙을 따릅니다.동쪽그리니치.
모든 경우에 범퍼카 토토대 이름과 약어는 대소문자를 구분하지 않고 인식됩니다. (이것은 다음과 같은 변경사항입니다.포스트그레SQL8.2 이전 버전은 일부 상황에서는 대소문자를 구분했지만 다른 상황에서는 구분하지 않았습니다.)
범퍼카 토토대 이름이나 약어 모두 서버에 내장되어 있지 않습니다. 아래에 저장된 구성 파일에서 가져옵니다..../공유/범퍼카 토토대/그리고.../share/timezonesets/설치 디렉토리(참조PostgreSQL : 문서 : 9.4 : 날짜/시간 구성 토토 사이트 순위).
그범퍼카 토토대구성 매개변수는 파일에서 설정할 수 있습니다.postgresql.conf또는에 설명된 다른 표준 방식 중 하나를 사용합니다.롤 토토 : 문서 : 9.4 : 서버 구성. 이를 설정하는 몇 가지 특별한 방법도 있습니다.
그SQL명령범퍼카 토토대 설정세션의 범퍼카 토토대를 설정합니다. 이것은 다음의 대체 철자법입니다.다음으로 범퍼카 토토대 설정SQL 사양과 더 호환되는 구문을 사용합니다.
그PGTZ환경 변수는 다음에 의해 사용됩니다libpq클라이언트가 보내는 것범퍼카 토토대 설정연결 시 서버에 명령을 내립니다.
간격값은 다음 자세한 구문을 사용하여 작성할 수 있습니다:
[@] 수량 단위 [수량 단위...] [방향]
어디에서수량숫자입니다(부호가 있을 수 있음).단위이다마이크로초, 밀리초, 초, 분, 범퍼카 토토, 일, 주, 월, 년, 10년, 세기, 밀레니엄또는 이러한 단위의 약어 또는 복수형;방향될 수 있습니다전또는 비어 있습니다. at 기호(@)은 선택적 노이즈입니다. 다양한 단위의 양은 적절한 기호 계산을 통해 암시적으로 추가됩니다.전모든 필드를 무효화합니다. 이 구문은 간격 출력에도 사용됩니다.간격 스타일다음으로 설정됨postgres_verbose.
일, 범퍼카 토토, 분, 초의 양은 명시적인 단위 표시 없이 지정할 수 있습니다. 예를 들어,'1 12:59:10'다음과 동일하게 읽혀집니다'1일 12범퍼카 토토 59분 10초'. 또한 대시를 사용하여 연도와 월의 조합을 지정할 수 있습니다. 예를 들어'200-10'다음과 동일하게 읽혀집니다'200년 10개월'. (이 짧은 형식은 실제로 허용되는 유일한 형식입니다.SQL표준이며 다음과 같은 경우 출력에 사용됩니다.간격 스타일다음으로 설정됨sql_standard.)
간격 값은 다음 중 하나를 사용하여 ISO 8601 범퍼카 토토 간격으로 기록될 수도 있습니다."지정자가 있는 형식"표준 섹션 4.4.3.2 또는"대체 형식"섹션 4.4.3.3. 지정자가 있는 형식은 다음과 같습니다.
P 수량 단위 [ 수량 단위 ...] [티 [ 수량 단위 ...]]
문자열은 a로 시작해야 합니다.P, 다음을 포함할 수 있습니다.T범퍼카 토토 단위를 소개합니다. 사용 가능한 단위 약어는 다음과 같습니다.표 8-16. 단위는 생략 가능하고, 순서에 관계없이 지정할 수 있으나, 하루보다 작은 단위는 뒤에 와야 합니다.T. 특히, 다음의 의미는M이전인지 이후인지에 따라 다름T.
대체 형식:
피 [ 년-개월-일 ] [ T 범퍼카 토토:분:초 ]
문자열은 다음으로 시작해야 합니다.P그리고T간격의 날짜와 범퍼카 토토 부분을 구분합니다. 값은 ISO 8601 날짜와 유사한 숫자로 제공됩니다.
a로 간격 상수를 쓸 때필드사양 또는 a로 정의된 간격 열에 문자열을 할당하는 경우필드사양, 표시되지 않은 수량의 해석은 다음에 따라 다릅니다.필드. 예를 들어간격 '1'년1년으로 읽히는 반면간격 '1'1초를 의미합니다. 또한 필드 값"오른쪽으로"에서 허용하는 최하위 필드의필드사양은 자동으로 삭제됩니다. 예를 들어, 쓰기간격 '1일 2:03:04' 범퍼카 토토~분초 필드는 삭제되지만 일 필드는 삭제되지 않습니다.
에 따르면SQL표준 간격 값의 모든 필드는 동일한 부호를 가져야 하므로 선행 음수 부호가 모든 필드에 적용됩니다. 예를 들어 간격 리터럴의 음수 기호'-1 2:03:04'일 및 시/분/초 부분 모두에 적용됩니다.PostgreSQL필드가 서로 다른 부호를 가질 수 있도록 허용하고 전통적으로 텍스트 표현의 각 필드를 독립적으로 부호가 있는 것으로 처리하므로 이 예에서는 시/분/초 부분이 양수로 간주됩니다. 만일간격 스타일다음으로 설정됨sql_standard그런 다음 선행 기호가 모든 필드에 적용되는 것으로 간주됩니다(그러나 추가 기호가 나타나지 않는 경우에만). 그렇지 않으면 전통적인PostgreSQL해석이 사용됩니다. 모호함을 피하기 위해 필드가 음수인 경우 각 필드에 명시적인 기호를 첨부하는 것이 좋습니다.
자세한 입력 형식과 보다 간결한 입력 형식의 일부 필드에서 필드 값은 소수 부분을 가질 수 있습니다. 예를 들어'1.5주'또는'01:02:03.45'. 이러한 입력은 저장에 적합한 월, 일, 초 수로 변환됩니다. 이로 인해 월 또는 일의 소수가 발생하는 경우 변환 계수 1개월 = 30일 및 1일 = 24범퍼카 토토을 사용하여 하위 필드에 분수가 추가됩니다. 예를 들어,'1.5개월'1개월 15일이 됩니다. 초만 출력에서 분수로 표시됩니다.
표 8-17유효한 몇 가지 예를 보여줍니다.간격입력합니다.
표 8-17. 간격입력
| 예 | 설명 |
|---|---|
| 1-2 | SQL 표준 형식: 1년 2개월 |
| 3 4:05:06 | SQL 표준 형식: 3일 4범퍼카 토토 5분 6초 |
| 1년 2개월 3일 4범퍼카 토토 5분 6초 | 기존 Postgres 형식: 1년 2개월 3일 4범퍼카 토토 5분 6초 |
| P1Y2M3DT4H5M6S | ISO 8601"지정자가 있는 형식": 위와 같은 의미 |
| P0001-02-03T04:05:06 | ISO 8601"대체 형식": 위와 같은 의미 |
내부적으로간격값은 월, 일, 초로 저장됩니다. 이는 한 달의 일수가 다양하고 일광 절약 범퍼카 토토 조정이 포함된 경우 하루가 23범퍼카 토토 또는 25범퍼카 토토이 될 수 있기 때문에 수행됩니다. 월 및 일 필드는 정수이고 초 필드는 분수를 저장할 수 있습니다. 간격은 일반적으로 상수 문자열 또는타임스탬프뺄셈, 이 저장 방법은 대부분의 경우 잘 작동하지만 예상치 못한 결과가 발생할 수 있습니다.
SELECT EXTRACT('80분'부터의 범퍼카 토토::간격);
날짜_부분
-----------
1
SELECT EXTRACT('80범퍼카 토토' 이후의 일수::간격);
날짜_부분
-----------
0
기능justify_days그리고justify_hours정상 범위를 벗어나는 요일과 범퍼카 토토을 조정할 수 있습니다.
간격 유형의 출력 형식은 네 가지 스타일 중 하나로 설정될 수 있습니다.sql_standard, 포스트그레, postgres_verbose또는iso_8601, 명령 사용SET 간격 스타일. 기본값은포스트그레스형식.표 8-18각 출력 스타일의 예를 보여줍니다.
그sql_standardstyle은 간격 값이 표준 제한 사항(양수 및 음수 구성 요소가 혼합되지 않은 연월만 또는 일범퍼카 토토만)을 충족하는 경우 간격 리터럴 문자열에 대한 SQL 표준 사양을 준수하는 출력을 생성합니다. 그렇지 않으면 출력은 혼합 기호 간격을 명확하게 하기 위해 명시적인 기호가 추가된 표준 연월 리터럴 문자열과 일/월 리터럴 문자열처럼 보입니다.
의 출력포스트그레스타일은 다음의 출력과 일치합니다.포스트그레SQL8.4 이전 버전인 경우날짜 스타일매개변수가 다음으로 설정되었습니다.ISO.
의 출력postgres_verbose스타일은 다음의 출력과 일치합니다.PostgreSQL8.4 이전 버전인 경우날짜 스타일매개변수가 비-로 설정되었습니다.ISO출력.
의 출력iso_8601스타일이 다음과 일치함"지정자가 있는 형식"ISO 8601 표준의 섹션 4.4.3.2에 설명되어 있습니다.