포스트그레SQL전체 지원 세트SQL날짜와 토토 꽁 머니 유형.
표 3-10. 날짜/토토 꽁 머니 유형
| 유형 | 설명 | 저장 | 가장 빠른 | 최신 | 해결 |
|---|---|---|---|---|---|
| 타임스탬프 [ (p) ] 토토 꽁 머니대 없음 | 날짜 및 토토 꽁 머니 모두 | 8바이트 | 기원전 4713년 | AD 1465001 | 1마이크로초/14자리 |
| 타임스탬프 [ (p) ] [ 토토 꽁 머니대 포함 ] | 날짜 및 토토 꽁 머니 모두 | 8바이트 | 기원전 4713년 | AD 1465001 | 1마이크로초/14자리 |
| 간격 [ (p) ] | 토토 꽁 머니 간격용 | 12바이트 | -178000000년 | 178000000년 | 1마이크로초 |
| 날짜 | 날짜만 | 4바이트 | 기원전 4713년 | 서기 32767 | 1일 |
| 토토 꽁 머니 [ (p) ] [ 토토 꽁 머니대 없음 ] | 토토 꽁 머니만 해당 | 8바이트 | 00:00:00.00 | 23:59:59.99 | 1마이크로초 |
| 토토 꽁 머니 [ (p) ] 토토 꽁 머니대 포함 | 토토 꽁 머니만 해당 | 12바이트 | 00:00:00.00+12 | 23:59:59.99-12 | 1마이크로초 |
토토 꽁 머니, 타임스탬프, 그리고간격선택적 정밀도 허용 값p다음을 지정합니다. 초 필드에 유지되는 소수 자릿수입니다. 작성자: 기본적으로 정밀도에는 명시적인 제한이 없습니다. 효과적인 정밀도의 한계는 기본 double에 의해 결정됩니다. 값을 저장하는 데 사용되는 정밀 부동 소수점 숫자(초 단위) 에 대한간격그 후 몇 초 만에 2000-01-01 에 대한타임스탬프). 유용한 범위 의p는 0에서 약 6까지입니다.타임스탬프, 그러나 그 이상일 수 있음간격. 시스템이 수락합니다.p범위는 0부터 13까지입니다.
토토 꽁 머니대 및 토토 꽁 머니대 규칙은 다음의 영향을 받습니다. 지구 기하학뿐만 아니라 정치적 결정도 가능합니다. 주변 토토 꽁 머니대 1900년대에는 세계가 다소 표준화되었지만 계속해서 임의로 변경되는 경향이 있습니다.포스트그레SQL운영 체제를 사용합니다. 출력 토토 꽁 머니대 지원을 제공하는 기본 기능 이러한 시스템에는 일반적으로 해당 토토 꽁 머니에 대한 정보만 포함됩니다. 1902년부터 2038년까지의 기간(전체 범위에 해당) 기존 Unix 시스템 토토 꽁 머니).타임스탬프 포함 토토 꽁 머니대그리고토토 꽁 머니대 포함 토토 꽁 머니할 것이다 해당 연도 범위 내의 토토 꽁 머니대 정보만 사용하고 그 범위 밖의 토토 꽁 머니은UTC.
다음 버전에서 업그레이드 경로를 보장하려면PostgreSQL7.0 이전 버전에서는 인식날짜토토 꽁 머니(동등함타임스탬프) 및기간(동등함간격). 이러한 유형은 이제 암시적 번역으로 제한됩니다.타임스탬프그리고간격및 이에 대한 지원은 다음 릴리스에서 제거될 예정입니다.PostgreSQL(아마도 이름이 지정됨) 7.3).
유형절대그리고상대토토 꽁 머니은 정밀도가 낮은 유형으로 사용됩니다. 내부적으로. 다음 유형을 사용하지 않는 것이 좋습니다. 새 애플리케이션을 사용하고 이전 애플리케이션을 이전하는 것이 좋습니다. 적절한 경우. 이러한 내부 유형 중 일부 또는 전부는 향후 릴리스에서는 사라집니다.
날짜 및 토토 꽁 머니 입력은 거의 모든 합리적인 방식으로 허용됩니다. 다음을 포함한 형식ISO 8601, SQL-호환, 전통PostgreSQL및 기타. 에 대한 일부 형식에서는 날짜 입력의 월 및 일 순서를 지정할 수 있습니다. 모호하며 예상되는 내용을 지정하는 지원이 있습니다. 이 필드의 순서를 지정합니다. 명령SET DateStyle을 '미국'으로'또는날짜 스타일을 다음으로 설정 '비유럽인'변형을 지정합니다"월 전일", 명령날짜 스타일을 '유럽'으로 설정변형을 설정"월 전일".ISO스타일이 기본값이지만 이 기본값은 컴파일 타임이나 런타임에 변경되었습니다.
포스트그레SQL더 유연해졌습니다. 날짜/토토 꽁 머니을 처리하는 중입니다.SQL표준이 필요합니다. 참조부록 A정확한 분석을 위해 날짜/토토 꽁 머니 입력 규칙 및 인식된 텍스트 필드에 대한 규칙 월, 요일, 토토 꽁 머니대를 포함합니다.
모든 날짜 또는 토토 꽁 머니 리터럴 입력은 다음과 같아야 한다는 점을 기억하십시오. 텍스트 문자열처럼 작은따옴표로 묶습니다. 참조섹션 1.1.2.5더 많은 정보를 원하시면.SQL9x다음 구문이 필요합니다
유형 [ (p) ] '값'
어디에서p선택사항 정밀도 사양은 다음에 해당하는 정수입니다. 초 필드의 소수 자릿수입니다. 정밀 캔 에 대해 지정되다토토 꽁 머니, 타임스탬프및간격유형.
SQL99에 따라 이 유형은 다음과 같이 지정될 수 있습니다.토토 꽁 머니또는토토 꽁 머니 없는 토토 꽁 머니 구역. 선택적 정밀도p0에서 13 사이여야 하며 기본값은 입력 토토 꽁 머니 리터럴의 정밀도입니다.
다음은 유효합니다.토토 꽁 머니입력.
이 유형은 SQL92에 의해 정의되지만 정의는 다음을 나타냅니다. 의심스러운 유용성을 초래하는 속성. 대부분의 경우 경우, 조합날짜, 토토 꽁 머니, 타임스탬프 토토 꽁 머니대 없음그리고타임스탬프 포함 토토 꽁 머니대날짜/토토 꽁 머니의 전체 범위를 제공해야 합니다. 모든 애플리케이션에 필요한 기능입니다.
선택적 정밀도p0에서 13 사이여야 하며 기본값은 다음의 정밀도입니다. 입력 토토 꽁 머니 리터럴입니다.
토토 꽁 머니대 포함 토토 꽁 머니모두 허용 다음 항목에도 유효한 입력입니다.토토 꽁 머니유형, 다음과 같이 법적 토토 꽁 머니대가 추가됩니다.
표 3-13. 토토 꽁 머니대 입력 토토 꽁 머니
| 예 | 설명 |
|---|---|
| 04:05:06.789-8 | ISO 8601 |
| 04:05:06-08:00 | ISO 8601 |
| 04:05-08:00 | ISO 8601 |
| 040506-08 | ISO 8601 |
참조테이블 3-14토토 꽁 머니대의 더 많은 예를 보려면.
다음에 대한 유효한 입력입니다.타임스탬프 [ (p) ] 토토 꽁 머니대 없음유형은 날짜와 토토 꽁 머니의 연결로 구성됩니다. 선택 사항이 뒤따릅니다.AD또는BC, 선택적 토토 꽁 머니이 뒤따름 구역. (아래를 참조하십시오.) 따라서
1999-01-08 04:05:06
유효합니다토토 꽁 머니이 없는 타임스탬프 구역값은ISO-호환. 또한, 광범위한 형식
1999년 1월 8일 04:05:06 PST
지원됩니다.
선택적 정밀도p0에서 13 사이여야 하며 기본값은 다음과 같습니다. 입력타임스탬프리터럴.
용토토 꽁 머니대 없는 타임스탬프, 임의 입력에 지정된 명시적인 토토 꽁 머니대가 자동으로 표시됩니다. 삼켰다. 즉, 결과 날짜/토토 꽁 머니 값이 파생됩니다. 입력 값의 명시적인 날짜/토토 꽁 머니 필드에서 토토 꽁 머니대에 맞게 조정되지 않았습니다.
다음에 대한 유효한 입력입니다.타임스탬프유형 날짜와 토토 꽁 머니의 연결로 구성되며 그 뒤에는 선택 사항AD또는BC, 그 뒤에 선택적 토토 꽁 머니대가 옵니다. (참조 아래.) 따라서
1999-01-08 04:05:06 -8:00
유효합니다타임스탬프값은ISO-호환. 에서 또한 광범위한 형식
1999년 1월 8일 04:05:06 PST
지원됩니다.
선택적 정밀도p0에서 13 사이여야 하며 기본값은 다음과 같습니다. 입력타임스탬프리터럴.
간격값은 다음으로 쓸 수 있습니다. 다음 구문:
수량 단위 [수량 단위...] [방향] @ 수량 단위 [수량 단위...] [방향]
여기서:수량숫자입니다 (아마도 서명됨),단위is초, 분, 토토 꽁 머니, 일, 주, 월, 년, 10년, 세기, 밀레니엄또는 다음의 약어 또는 복수형 이 단위;방향될 수 있습니다전또는 비어 있습니다. at 기호 (@)은 선택적 노이즈입니다. 금액 다양한 단위가 암묵적으로 적절한 값으로 합산됩니다. 회계에 서명하세요.
일, 토토 꽁 머니, 분, 초의 양은 다음과 같습니다. 명시적인 단위 표시 없이 지정됩니다. 예를 들어,'1 12:59:10'다음과 동일하게 읽혀집니다'1일 12토토 꽁 머니 59분 10초'.
선택적 정밀도p0에서 13 사이여야 하며 기본값은 다음과 같습니다. 입력 리터럴입니다.
다음SQL-호환 기능을 다음과 같이 사용할 수 있습니다. 해당 데이터 유형에 대한 날짜 또는 토토 꽁 머니 입력:CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP. 후자의 두 사람은 선택적 정밀도 사양입니다.
PostgreSQL또한 지원합니다 편의를 위해 몇 가지 특수 상수를 사용합니다.
표 3-15. 특수 날짜/토토 꽁 머니 상수
| 상수 | 설명 |
|---|---|
| 에포크 | 1970-01-01 00:00:00+00 (유닉스 시스템 토토 꽁 머니 제로) |
| 무한대 | 다른 유효 토토 꽁 머니보다 늦음 |
| -무한대 | 다른 유효 토토 꽁 머니보다 빠름 |
| 잘못됨 | 잘못된 항목 |
| 지금 | 현재 거래 토토 꽁 머니 |
| 오늘 | 오늘 자정 |
| 내일 | 내일 자정 |
| 어제 | 어제 자정 |
| 줄루어, 올볼, z | 00:00:00.00 GMT |
참고:현재포스트그레SQL버전 7.2,'현재'은(는) 더 이상 지원되지 않습니다. 날짜/토토 꽁 머니 상수. 이전에는'현재'특수값으로 저장되었습니다. 그리고 다음과 같이 평가되었습니다.'지금'한 경우에만 표현식이나 유형 변환에 사용됩니다.
출력 형식은 ISO 네 가지 스타일 중 하나로 설정될 수 있습니다 8601,SQL(잉그레스), 전통적인 PostgreSQL 및 독일어, 다음을 사용하여날짜 스타일 설정. 기본값은ISO형식.
표 3-16. 날짜/토토 꽁 머니 출력 스타일
| 스타일 사양 | 설명 | 예 |
|---|---|---|
| 'ISO' | ISO-8601 표준 | 1997-12-17 07:37:16-08 |
| 'SQL' | 전통적인 스타일 | 1997년 12월 17일 07:37:16.00 PST |
| 'PostgreSQL' | 원래 스타일 | 1997년 12월 17일 수요일 07:37:16 PST |
| '독일어' | 지역 스타일 | 1997년 12월 17일 07:37:16.00 PST |
의 출력날짜그리고토토 꽁 머니styles는 물론 날짜나 토토 꽁 머니 부분뿐입니다. 위의 예에 따라.
그SQL스타일에는 유럽 및 비유럽(미국) 변형은 다음을 결정합니다. 월이 일 다음에 오는지 또는 그 반대인지 여부. (또한 참조섹션 3.5.1이 설정이 입력 해석에 미치는 영향 값.)
표 3-17. 날짜-순서 규칙
| 스타일 사양 | 설명 | 예 |
|---|---|---|
| 유럽인 | 일/월/년 | 1997년 17월 12일 15:37:16.00 충족 |
| 미국 | 월/일/년 | 1997년 12월 17일 07:37:16.00 PST |
간격출력은 입력과 같습니다. 형식(다음과 같은 단위 제외)주또는세기연도로 변환되며 일. ISO 모드에서 출력은 다음과 같습니다.
[ 수량 단위 [ ... ] ] [ 일 ] 토토 꽁 머니:분 [ 전 ]
날짜/토토 꽁 머니의 모양에 영향을 미치는 방법에는 여러 가지가 있습니다 유형:
그PGDATESTYLE환경 postmaster에서 백엔드가 직접 사용하는 변수 시작합니다.
그PGDATESTYLE환경 프런트엔드에서 사용하는 변수libpq세션 시작 시.
날짜 스타일 설정 SQL명령.
PostgreSQL노력합니다 호환 가능SQL92일반적인 사용법에 대한 정의. 그러나,SQL92표준에는 날짜와 날짜가 이상하게 혼합되어 있습니다. 토토 꽁 머니 유형 및 기능. 두 가지 명백한 문제는 다음과 같습니다.
비록날짜유형은 그렇지 않습니다. 연관된 토토 꽁 머니대가 있습니다.토토 꽁 머니캔을 입력하세요. 실제 세계의 토토 꽁 머니대는 다음과 같습니다. 날짜 및 날짜와 연결되지 않으면 의미가 없습니다. 오프셋 이후의 토토 꽁 머니은 연중 내내 달라질 수 있습니다. 일광 절약 토토 꽁 머니제 경계.
기본 토토 꽁 머니대는 상수 정수로 지정됩니다. GMT/UTC로부터 오프셋. 적응이 불가능해요 날짜/토토 꽁 머니 산술을 수행할 때 일광 절약 토토 꽁 머니제DST경계.
이러한 문제를 해결하려면 날짜/토토 꽁 머니을 사용하는 것이 좋습니다 토토 꽁 머니대를 사용할 때 날짜와 토토 꽁 머니을 모두 포함하는 유형입니다. 우리 추천합니다아님사용 중 SQL92 유형토토 꽁 머니대 포함 토토 꽁 머니(비록 다음에서 지원되지만PostgreSQL기존 애플리케이션 및 다른 RDBMS 구현과의 호환성).PostgreSQL현지 토토 꽁 머니대로 가정합니다. 날짜 또는 토토 꽁 머니만 포함하는 모든 유형의 경우. 또한, 토토 꽁 머니대 지원은 기본 운영 체제에서 파생됩니다. 토토 꽁 머니대 기능이 있으므로 일광 절약 토토 꽁 머니제를 처리할 수 있습니다. 토토 꽁 머니 및 기타 예상되는 동작.
PostgreSQL획득 기본 운영 체제에서 토토 꽁 머니대 지원 1902년에서 2038년 사이의 날짜(일반적인 날짜 제한에 가깝습니다) Unix 스타일 시스템). 이 범위를 벗어나면 모든 날짜는 다음과 같습니다. 협정 세계시(Universal Coordinated Time)로 지정되고 사용되는 것으로 가정됩니다. (UTC).
모든 날짜와 토토 꽁 머니은 내부적으로 UTC로 저장됩니다. 전통적으로 그리니치 표준시(GMT)로 알려져 있습니다. 토토 꽁 머니은 데이터베이스 서버에서 현지 토토 꽁 머니으로 변환된 후 클라이언트 프런트엔드로 전송되므로 기본적으로 서버에 있습니다. 토토 꽁 머니대.
토토 꽁 머니대 동작에 영향을 미치는 방법에는 여러 가지가 있습니다:
그TZ환경 변수는 다음과 같습니다. postmaster 시작 시 백엔드에서 직접 사용됩니다. 기본 토토 꽁 머니대입니다.
그PGTZ환경 변수, if 클라이언트에 설정되어 libpq에서 다음을 보내는 데 사용됩니다.토토 꽁 머니대 설정백엔드에 대한 명령 연결.
그SQL명령토토 꽁 머니대 설정토토 꽁 머니대를 설정합니다. 세션.
그SQL92한정자 에
타임스탬프토토 꽁 머니대 '영역'
어디에서영역될 수 있습니다 텍스트 토토 꽁 머니대로 지정됨(예:'PST') 또는 간격으로(예:간격 '-08:00').
참고:잘못된 토토 꽁 머니대가 지정되면, 토토 꽁 머니대는 GMT가 됩니다(대부분의 시스템에서는 어쨌든).
참고:런타임 옵션인 경우AUSTRALIAN_TIMEZONES그러면 설정됩니다CST그리고EST참조 미국 토토 꽁 머니대가 아닌 호주 토토 꽁 머니대로.
PostgreSQL줄리안을 사용합니다 모든 날짜/토토 꽁 머니 계산에 대한 날짜입니다. 그들은 좋은 것을 가지고 있습니다 어떤 날짜라도 정확하게 예측/계산하는 속성 가정을 사용하여 기원전 4713년보다 최근부터 먼 미래까지 1년의 길이는 365.2425일이다.
19세기 이전 날짜 관례로 인해 흥미로운 내용이지만 보증할 만큼 일관성이 없습니다. 날짜/토토 꽁 머니 핸들러로 코딩합니다.