PostgreSQL전체 세트 지원SQL날짜 및 토토 꽁 머니 유형, 다음에 표시됨표 8.9. 이러한 데이터 유형에 사용할 수 있는 작업은에 설명되어 있습니다.PostgreSQL : 문서 : 17 : 9.9. 날짜/와이즈 토토 기능 및 운영자. 날짜는 그레고리력이 도입되기 몇 년 전이라도 그레고리력에 따라 계산됩니다(참조범퍼카 토토 : 문서 : 17 : B.6. 단위의 역사자세한 내용은).
표 8.9. 날짜/토토 꽁 머니 유형
| 이름 | 저장소 크기 | 설명 | 낮은 값 | 높은 가치 | 해결 |
|---|---|---|---|---|---|
타임스탬프 [ ( |
8바이트 | 날짜 및 토토 꽁 머니 모두(토토 꽁 머니대 없음) | 기원전 4713년 | 서기 294276년 | 1마이크로초 |
타임스탬프 [ ( |
8바이트 | 날짜 및 토토 꽁 머니 모두, 토토 꽁 머니대 포함 | 기원전 4713년 | 서기 294276년 | 1마이크로초 |
날짜 |
4바이트 | 날짜(토토 꽁 머니 없음) | 기원전 4713년 | 5874897 서기 | 1일 |
토토 꽁 머니 [ ( |
8바이트 | 토토 꽁 머니(날짜 없음) | 00:00:00 | 24:00:00 | 1마이크로초 |
토토 꽁 머니 [ ( |
12바이트 | 토토 꽁 머니(날짜 없음), 토토 꽁 머니대 포함 | 00:00:00+1559 | 24:00:00-1559 | 1마이크로초 |
간격 [ |
16바이트 | 토토 꽁 머니 간격 | -178000000년 | 178000000년 | 1마이크로초 |
SQL 표준에서는 다음과 같이 작성해야 합니다.타임스탬프다음과 동등함토토 꽁 머니대가 없는 타임스탬프및PostgreSQL그 행동을 존중합니다.timestamptz다음의 약어로 허용됩니다.토토 꽁 머니대가 포함된 타임스탬프; 이것은PostgreSQL확장.
토토 꽁 머니, 타임스탬프및간격선택적 정밀도 값 허용p초 필드에 유지되는 소수 자릿수를 지정합니다. 기본적으로 정밀도에는 명시적인 제한이 없습니다. 허용되는 범위는p0부터 6까지입니다.
그간격type에는 다음 문구 중 하나를 작성하여 저장된 필드 집합을 제한하는 추가 옵션이 있습니다.
년 월 낮 토토 꽁 머니 분 두번째 매년 매일매일 하루에서 분까지 매일매일 토토 꽁 머니에서 분까지 토토 꽁 머니에서 초로 분에서 초까지
둘 다인 경우 참고필드그리고p지정되었습니다.필드반드시 포함두 번째, 정밀도는 초에만 적용되기 때문입니다.
유형토토 꽁 머니대 포함 토토 꽁 머니은(는) SQL 표준에 의해 정의되지만 이 정의는 유용성이 의심스러운 속성을 나타냅니다. 대부분의 경우 다음의 조합은날짜, 토토 꽁 머니, 토토 꽁 머니대가 없는 타임스탬프및토토 꽁 머니대가 포함된 타임스탬프모든 애플리케이션에 필요한 전체 날짜/토토 꽁 머니 기능을 제공해야 합니다.
날짜 및 토토 꽁 머니 입력은 ISO 8601을 포함한 거의 모든 합리적인 형식으로 허용됩니다.SQL-호환, 전통포스트그레스및 기타. 일부 형식의 경우 날짜 입력의 일, 월, 연도 순서가 모호하며 이러한 필드의 예상 순서를 지정하는 기능이 지원됩니다. 설정날짜 스타일매개변수 ~MDY월-일-년 해석을 선택하려면,DMY일-월-년 해석을 선택하거나YMD연-월-일 해석을 선택합니다.
포스트그레SQL은보다 날짜/토토 꽁 머니 입력 처리가 더 유연합니다.SQL표준이 필요합니다. 보다부록 B날짜/토토 꽁 머니 입력의 정확한 구문 분석 규칙과 월, 요일 및 토토 꽁 머니대를 포함한 인식된 텍스트 필드에 대한 정보입니다.
날짜 또는 토토 꽁 머니 리터럴 입력은 텍스트 문자열과 같이 작은따옴표로 묶어야 한다는 점을 기억하십시오. 참조섹션 4.1.2.7더 많은 정보를 원하시면.SQL다음 구문이 필요합니다
유형[ (p) ] '값'
어디에서p은 초 필드의 소수 자릿수를 제공하는 선택적 정밀도 사양입니다. 정밀도는 다음과 같이 지정할 수 있습니다.토토 꽁 머니, 타임스탬프및간격유형이며 범위는 0에서 6까지입니다. 상수 사양에 정밀도가 지정되지 않은 경우 기본값은 리터럴 값의 정밀도입니다(6자리 이하).
표 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 오류 |
| 08-1-99 | 1월 8일, 오류 제외YMD모드 |
| 1월 08-99 | 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, 토토 꽁 머니대가 UTC 오프셋임 |
04:05:06-08:00 |
ISO 8601, 토토 꽁 머니대가 UTC 오프셋임 |
04:05-08:00 |
ISO 8601, 토토 꽁 머니대가 UTC 오프셋임 |
040506-08 |
ISO 8601, 토토 꽁 머니대가 UTC 오프셋임 |
040506+0730 |
ISO 8601, UTC 오프셋으로 분수 토토 꽁 머니 토토 꽁 머니대 포함 |
040506+07:30:00 |
초 단위로 지정된 UTC 오프셋(ISO 8601에서는 허용되지 않음) |
04:05:06 PST |
약어로 지정된 토토 꽁 머니대 |
2003-04-12 04:05:06 America/New_York |
성명으로 지정된 토토 꽁 머니대 |
표 8.12. 토토 꽁 머니대 입력
| 예 | 설명 |
|---|---|
PST |
약어(태평양 표준시) |
미국/New_York |
전체 토토 꽁 머니대 이름 |
PST8PDT |
POSIX 스타일 토토 꽁 머니대 지정 |
-8:00:00 |
PST에 대한 UTC 오프셋 |
-8:00 |
PST용 UTC 오프셋(ISO 8601 확장 형식) |
-800 |
PST용 UTC 오프셋(ISO 8601 기본 형식) |
-8 |
PST용 UTC 오프셋(ISO 8601 기본 형식) |
줄루 |
UTC의 군사 약어 |
z |
약식줄루어(ISO 8601에도 포함) |
참조섹션 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'
은토토 꽁 머니대가 포함된 타임스탬프. 포스트그레SQL유형을 결정하기 전에 리터럴 문자열의 내용을 검사하지 않으므로 위의 두 가지를 모두 다음과 같이 처리합니다.토토 꽁 머니대가 없는 타임스탬프. 리터럴이 다음과 같이 처리되도록 하려면토토 꽁 머니대가 포함된 타임스탬프, 올바른 명시적 유형을 지정하세요.
토토 꽁 머니대 '2004-10-19 10:23:54+02'가 포함된 타임스탬프
다음으로 결정된 값에서토토 꽁 머니대가 없는 타임스탬프, PostgreSQL모든 토토 꽁 머니대 표시를 자동으로 무시합니다. 즉, 결과 값은 입력 문자열의 날짜/토토 꽁 머니 필드에서 파생되며 토토 꽁 머니대에 맞게 조정되지 않습니다.
용토토 꽁 머니대가 포함된 타임스탬프값, 명시적인 토토 꽁 머니대를 포함하는 입력 문자열은 UTC(세계협정시) 해당 토토 꽁 머니대에 적합한 오프셋을 사용합니다. 입력 문자열에 토토 꽁 머니대가 명시되어 있지 않으면 시스템의 토토 꽁 머니대에 지정된 것으로 간주됩니다.토토 꽁 머니대매개변수이며,에 대한 오프셋을 사용하여 UTC로 변환됩니다.토토 꽁 머니대구역. 두 경우 모두 값은 내부적으로 UTC로 저장되며 원래 명시되었거나 가정된 토토 꽁 머니대는 유지되지 않습니다.
때토토 꽁 머니대가 포함된 타임스탬프값이 출력되며 항상 UTC에서 현재로 변환됩니다.토토 꽁 머니대존이며 해당 존의 현지 토토 꽁 머니으로 표시됩니다. 다른 토토 꽁 머니대의 토토 꽁 머니을 보려면 다음 중 하나를 변경하세요.토토 꽁 머니대또는 다음을 사용하세요토토 꽁 머니대구조물 (참조섹션 9.9.4).
전환 사이토토 꽁 머니대가 없는 타임스탬프그리고토토 꽁 머니대가 포함된 타임스탬프일반적으로 다음과 같이 가정합니다.토토 꽁 머니대가 없는 타임스탬프값은 다음과 같이 취하거나 주어져야 합니다.토토 꽁 머니대현지 토토 꽁 머니. 다음을 사용하여 변환을 위해 다른 토토 꽁 머니대를 지정할 수 있습니다.토토 꽁 머니대.
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, 현지토토 꽁 머니, LOCALTIMESTAMP. (보다섹션 9.9.5.) 이는 SQL 함수이며 다음과 같습니다.아님데이터 입력 문자열에서 인식됩니다.
입력 문자열 동안지금, 오늘, 내일및어제대화형 SQL 명령에 사용하기에 적합하지만 나중에 실행하기 위해 명령을 저장할 때(예: 준비된 명령문, 뷰 및 함수 정의에서) 놀라운 동작이 발생할 수 있습니다. 문자열은 오래 된 후에도 계속 사용되는 특정 토토 꽁 머니 값으로 변환될 수 있습니다. 이러한 상황에서는 대신 SQL 함수 중 하나를 사용하십시오. 예를 들어,CURRENT_DATE + 1보다 안전합니다'내일'::날짜.
날짜/토토 꽁 머니 유형의 출력 형식은 ISO 8601의 네 가지 스타일 중 하나로 설정될 수 있습니다.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날짜와 토토 꽁 머니을 구분합니다.PostgreSQL입력 시 해당 형식을 허용하지만 출력 시 공백을 사용합니다.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 |
에서ISOstyle, 토토 꽁 머니대는 항상 UTC로부터의 부호 있는 숫자 오프셋으로 표시되며 그리니치 동쪽 지역에는 양수 부호가 사용됩니다. 오프셋은 다음과 같이 표시됩니다.ㅎ(토토 꽁 머니만) 정수 토토 꽁 머니이면, 그렇지 않으면ㅎ:mm분의 정수이면 그렇지 않으면ㅎ:mm:ss. (세 번째 경우는 현대 토토 꽁 머니대 표준에서는 가능하지 않지만 표준화된 토토 꽁 머니대 채택 이전의 타임스탬프로 작업할 때 나타날 수 있습니다.) 다른 날짜 스타일에서는 토토 꽁 머니대가 현재 토토 꽁 머니대에서 일반적으로 사용되는 경우 토토 꽁 머니대가 알파벳 약어로 표시됩니다. 그렇지 않으면 ISO 8601 기본 형식의 부호 있는 숫자 오프셋으로 표시됩니다(ㅎ또는흠). 이러한 스타일에 표시된 알파벳 약어는 현재 선택된 IANA 토토 꽁 머니대 데이터베이스 항목에서 가져온 것입니다.토토 꽁 머니대런타임 매개변수; 그들은 다음의 영향을 받지 않습니다.timezone_abbreviations설정.
날짜/토토 꽁 머니 스타일은 다음을 사용하여 사용자가 선택할 수 있습니다.날짜 스타일 설정명령, 그날짜 스타일매개변수postgresql.conf구성 파일 또는PGDATESTYLE서버 또는 클라이언트의 환경 변수.
포맷 기능to_char(참조PostgreSQL : 문서 : 17 : 9.8. 데이터 유형 토토 결과 토토 결과 기능)은 날짜/토토 꽁 머니 출력 형식을 지정하는 보다 유연한 방법으로도 사용할 수 있습니다.
토토 꽁 머니대와 토토 꽁 머니대 규칙은 지구 기하학뿐만 아니라 정치적 결정의 영향을 받습니다. 전 세계의 토토 꽁 머니대는 1900년대에 어느 정도 표준화되었지만 특히 일광 절약 토토 꽁 머니제 규칙과 관련하여 임의적인 변경이 계속 발생하는 경향이 있습니다.포스트그레SQL은 과거 토토 꽁 머니대 규칙에 대한 정보를 얻기 위해 널리 사용되는 IANA(Olson) 토토 꽁 머니대 데이터베이스를 사용합니다. 미래에는 특정 토토 꽁 머니대에 대해 알려진 최신 규칙이 먼 미래에도 무기한으로 계속 관찰될 것이라고 가정합니다.
포스트그레SQL다음과 호환되도록 노력합니다SQL일반적인 사용법에 대한 표준 정의. 그러나,SQL표준에는 날짜 및 토토 꽁 머니 유형과 기능이 이상하게 혼합되어 있습니다. 두 가지 명백한 문제는 다음과 같습니다.
비록날짜유형은 연관된 토토 꽁 머니대를 가질 수 없습니다.토토 꽁 머니캔을 입력하세요. 실제 세계의 토토 꽁 머니대는 날짜 및 토토 꽁 머니과 연결되지 않는 한 거의 의미가 없습니다. 오프셋은 일광 절약 토토 꽁 머니 경계에 따라 일년 내내 달라질 수 있기 때문입니다.
기본 토토 꽁 머니대는 다음으로부터의 상수 숫자 오프셋으로 지정됩니다.UTC. 따라서 날짜/토토 꽁 머니 산술을 수행할 때 일광 절약 토토 꽁 머니제에 적응하는 것은 불가능합니다.DST경계.
이러한 문제를 해결하려면 토토 꽁 머니대를 사용할 때 날짜와 토토 꽁 머니을 모두 포함하는 날짜/토토 꽁 머니 유형을 사용하는 것이 좋습니다. 우리는 그렇습니다아님다음 유형을 사용하는 것이 좋습니다토토 꽁 머니대 포함 토토 꽁 머니(비록 다음에서 지원되지만PostgreSQL레거시 애플리케이션 및 규정 준수를 위해SQL표준).PostgreSQL날짜 또는 토토 꽁 머니만 포함하는 모든 유형에 대해 현지 토토 꽁 머니대를 가정합니다.
모든 토토 꽁 머니대 인식 날짜와 토토 꽁 머니은 내부적으로 저장됩니다.UTC. 에서 지정한 토토 꽁 머니대의 현지 토토 꽁 머니으로 변환됩니다.토토 꽁 머니대클라이언트에 표시되기 전의 구성 매개변수입니다.
포스트그레SQL세 가지 다른 형식으로 토토 꽁 머니대를 지정할 수 있습니다.
전체 토토 꽁 머니대 이름, 예미국/New_York. 인식된 토토 꽁 머니대 이름은 다음 목록에 나열되어 있습니다.pg_timezone_names보기(참조무지개 토토 : 문서 : 17 : 52.32. pg_timezone_names). PostgreSQL이 목적을 위해 널리 사용되는 IANA 토토 꽁 머니대 데이터를 사용하므로 다른 소프트웨어에서도 동일한 토토 꽁 머니대 이름을 인식합니다.
예를 들어 토토 꽁 머니대 약어PST. 이러한 사양은 일광 절약 토토 꽁 머니 전환 규칙 집합을 암시할 수 있는 전체 토토 꽁 머니대 이름과 달리 UTC로부터의 특정 오프셋만 정의합니다. 인식된 약어는에 나열되어 있습니다.pg_timezone_abbrevs보기(참조범퍼카 토토 : 문서 : 17 : 52.31. pg_timezone_abbrevs). 구성 매개변수를 설정할 수 없습니다.토토 꽁 머니대또는log_timezone토토 꽁 머니대 약어를 사용하지만 날짜/토토 꽁 머니 입력 값에 약어를 사용할 수 있으며토토 꽁 머니대연산자.
토토 꽁 머니대 이름 및 약어 외에도PostgreSQL에 설명된 대로 POSIX 스타일 토토 꽁 머니대 사양을 허용합니다.PostgreSQL : 문서 : 17 : B.5. posix 토토 결과 사양. 이 옵션은 일반적으로 명명된 토토 꽁 머니대를 사용하는 것보다 바람직하지 않지만 적절한 IANA 토토 꽁 머니대 항목을 사용할 수 없는 경우 필요할 수 있습니다.
간단히 말하면, 이는 약어와 전체 이름의 차이입니다. 약어는 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)를 지정합니다.
POSIX 스타일 토토 꽁 머니대 사양의 기호는 ISO-8601 날짜/토토 꽁 머니 값의 기호와 반대 의미를 갖습니다. 예를 들어, 다음의 POSIX 토토 꽁 머니대는2014-06-04 12:00+04UTC-4가 됩니다.
문제를 복잡하게 만들기 위해 일부 관할권에서는 동일한 토토 꽁 머니대 약어를 사용하여 서로 다른 토토 꽁 머니에 서로 다른 UTC 오프셋을 의미합니다. 예를 들어 모스크바에서MSK어떤 해에는 UTC+3을 의미했고 다른 해에는 UTC+4를 의미했습니다.포스트그레SQL지정된 날짜에 의미한(또는 가장 최근에 의미했던) 내용에 따라 이러한 약어를 해석합니다. 하지만, 와 마찬가지로EST위의 예에서는 해당 날짜의 현지 상용시와 반드시 동일하지는 않습니다.
모든 경우에 토토 꽁 머니대 이름과 약어는 대소문자를 구분하지 않고 인식됩니다. (이것은 다음과 같은 변경사항입니다.PostgreSQL8.2 이전 버전은 일부 상황에서는 대소문자를 구분했지만 다른 상황에서는 구분하지 않았습니다.)
토토 꽁 머니대 이름이나 약어 모두 서버에 내장되어 있지 않습니다. 아래에 저장된 구성 파일에서 가져옵니다..../공유/토토 꽁 머니대/그리고.../share/timezonesets/설치 디렉토리의 (참조PostgreSQL : 문서 : 17 : B.4. 날짜/시간 구성 토토 사이트 순위).
그토토 꽁 머니대구성 매개변수는 파일에서 설정할 수 있습니다.postgresql.conf또는에 설명된 다른 표준 방법 중 하나를 사용합니다.윈 토토 : 문서 : 17 : 19 장 서버 구성. 이를 설정하는 몇 가지 특별한 방법도 있습니다.
그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.
표 8.16. ISO 8601 간격 단위 약어
| 약어 | 의미 |
|---|---|
| Y | 년 |
| M | 월(날짜 부분) |
| W | 주 |
| D | 일 |
| H | 토토 꽁 머니 |
| M | 분(토토 꽁 머니 부분) |
| S | 초 |
대체 형식:
피 [년-개월-일] [ T토토 꽁 머니:분:초]
문자열은 다음으로 시작해야 합니다.P그리고T간격의 날짜 및 토토 꽁 머니 부분을 구분합니다. 값은 ISO 8601 날짜와 유사한 숫자로 제공됩니다.
a로 간격 상수를 쓸 때필드사양 또는 a로 정의된 간격 열에 문자열을 할당하는 경우필드사양, 표시되지 않은 수량의 해석은 다음에 따라 다릅니다.필드. 예를 들어간격 '1'년1년으로 읽히는 반면간격 '1'1초를 의미합니다. 또한 필드 값“오른쪽으로”에서 허용하는 최하위 필드의필드사양은 자동으로 삭제됩니다. 예를 들어, 쓰기간격 '1일 2:03:04' 토토 꽁 머니~분초 필드는 삭제되지만 일 필드는 삭제되지 않습니다.
에 따르면SQL표준 간격 값의 모든 필드는 동일한 부호를 가져야 하므로 선행 음수 부호가 모든 필드에 적용됩니다. 예를 들어 간격 리터럴의 음수 기호'-1 2:03:04'일 및 시/분/초 부분 모두에 적용됩니다.포스트그레SQL필드가 다른 부호를 가질 수 있도록 허용하고 전통적으로 텍스트 표현의 각 필드를 독립적으로 부호 있는 것으로 처리하므로 이 예에서는 시/분/초 부분이 양수로 간주됩니다. 만약에간격 스타일다음으로 설정됨sql_standard그러면 선행 기호가 모든 필드에 적용되는 것으로 간주됩니다(그러나 추가 기호가 나타나지 않는 경우에만). 그렇지 않으면 전통적인포스트그레SQL해석이 사용됩니다. 모호함을 피하기 위해 필드가 음수인 경우 각 필드에 명시적인 기호를 첨부하는 것이 좋습니다.
내부적으로,간격값은 월, 일, 마이크로초의 세 가지 정수 필드로 저장됩니다. 한 달의 일수가 다양하고 일광 절약 토토 꽁 머니제 전환이 포함된 경우 하루는 23토토 꽁 머니 또는 25토토 꽁 머니이 될 수 있으므로 이러한 필드는 별도로 유지됩니다. 다른 단위를 사용하는 간격 입력 문자열은 이 형식으로 정규화된 다음 출력을 위해 표준화된 방식으로 재구성됩니다. 예:
SELECT '2년 15개월 100주 99토토 꽁 머니 123456789밀리초'::간격;
간격
--------------------------
3년 3월 700일 133:17:36.789
여기서는 다음과 같이 이해되는 몇 주입니다.“7일”는 별도로 유지되었으며 더 작은 토토 꽁 머니 단위와 큰 토토 꽁 머니 단위는 결합되어 정규화되었습니다.
입력 필드 값은 분수 부분을 가질 수 있습니다. 예를 들어'1.5주'또는'01:02:03.45'. 그러나 왜냐하면간격내부에는 정수 필드만 저장하며, 분수 값은 더 작은 단위로 변환해야 합니다. 월보다 큰 단위의 분수 부분은 정수로 반올림됩니다. 예:'1.5년'되다'1년 6개월'. 주와 일의 분수 부분은 한 달에 30일, 하루에 24토토 꽁 머니을 가정하여 정수의 일과 마이크로초로 계산됩니다. 예:'1.75개월'되다1월 22일 12:00:00. 초만 출력에서 분수로 표시됩니다.
표 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“대체 형식”: 위와 같은 의미 |
앞서 설명했듯이,포스트그레SQL상점간격월, 일, 마이크로초 단위의 값입니다. 출력의 경우 월 필드는 12로 나누어 연도 및 월로 변환됩니다. 일 필드는 그대로 표시됩니다. 마이크로초 필드는 토토 꽁 머니, 분, 초 및 소수 초로 변환됩니다. 따라서 월, 분, 초는 각각 0~11, 0~59, 0~59 범위를 초과하는 것으로 표시되지 않지만 표시되는 연도, 일, 토토 꽁 머니 필드는 상당히 클 수 있습니다. (그만큼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에 설명되어 있습니다.
표 8.18. 간격 출력 스타일 예
| 스타일 사양 | 연-월 간격 | 낮 토토 꽁 머니 간격 | 혼합 간격 |
|---|---|---|---|
sql_standard |
1-2 | 3 4:05:06 | -1-2 +3 -4:05:06 |
포스트그레 |
1년 2개월 | 3일 04:05:06 | -1년 -2개월 +3일 -04:05:06 |
postgres_verbose |
@ 1년 2개월 | @ 3일 4토토 꽁 머니 5분 6초 | @ 1년 2개월 -3일 4토토 꽁 머니 5분 6초 전 |
iso_8601 |
P1Y2M | P3DT4H5M6S | P-1Y-2M3DT-4H-5M-6S |
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.