PostgreSQL전체를 지원합니다SQL날짜와 토토 캔표 8-9.PostgreSQL : 문서 : 8.3 : 날짜/토토 꽁 머니 기능 및 연산자.
표 8-9. 날짜/토토 캔 유형
이름 | 스토리지 크기 | 설명 | 낮은 값 | 높은 가치 | 해상도 |
---|---|---|---|---|---|
타임 스탬프 [(p)] [토토 캔대가없는 | 8 바이트 | 날짜와 토토 캔 모두 | 4713 BC | 5874897 AD | 1 마이크로 초 / 14 자리 |
타임 스탬프 [(p)] with Time Zone | 8 바이트 | 토토 캔대와 토토 캔대가있는 날짜와 토토 캔 모두 | 4713 BC | 5874897 AD | 1 마이크로 초 / 14 자리 |
간격 [(p)] | 12 바이트 | 토토 캔 간격 | -178000000 년 | 178000000 년 | 1 마이크로 초 / 14 자리 |
날짜 | 4 바이트 | 날짜 만 | 4713 BC | 5874897 AD | 1 일 |
토토 캔 [(p)] [토토 캔대가없는 | 8 바이트 | 토토 캔의 토토 캔 만 | 00 : 00 : 00 | 24 : 00 : 00 | 1 마이크로 초 / 14 자리 |
토토 캔 [(p)] with Time Zone | 12 바이트 | 토토 캔대와 함께 토토 캔의 토토 캔 만 | 00 : 00 : 00+1459 | 24 : 00 : 00-1459 | 1 마이크로 초 / 14 자리 |
참고 :이전PostgreSQL7.3, 쓰기타임 스탬프토토 캔대가있는 타임 스탬프. 이것은 변경되었습니다
Time, 타임 스탬프,간격선택적 정밀도를 수락하십시오pp|타임 스탬프and간격타입.
참고 :언제타임 스탬프값타임 스탬프값타임 스탬프값은입니다Timeand간격값은 부동 소수점 또는간격값은 정밀하게 저하됩니다
용Time유형, 허용 범위p는 8 바이트 일 때 0에서 6입니다
유형토토 캔대가있는 토토 캔정의됩니다날짜, Time, 토토 캔대가없는 타임 스탬프및토토 캔대가있는 타임 스탬프완전한 것을 제공해야합니다
유형AbstimeandReltime사용되는 정밀도 유형이 낮습니다
날짜 및 토토 캔 입력은 거의 모든 합리적으로 허용됩니다.SQL-컴파일 가능, 전통Postgres및 기타. 일부 형식의 경우Datestyle매개 변수 tomdy선택합니다dmytoYMD연말 해석을 선택하려면
PostgreSQL더 유연합니다SQL표준 요구 사항. 보다부록 B정확한 구문 분석
날짜 또는 토토 캔 문자 그대로 입력이 필요하다는 것을 기억하십시오.섹션자세한 내용은SQL다음 구문이 필요합니다
타입[(p)] 'value'
여기서p선택 사항Time, 타임 스탬프및간격유형. 허용 값은 위에서 언급되어 있습니다.
테이블에 대한 가능한 입력을 보여줍니다날짜타입.
표 8-10. 날짜 입력
example | 설명 |
---|---|
1999 년 1 월 8 일 | Datestyle입력 모드 |
1999-01-08 | ISO 8601; 1 월 8 일 모든 모드에서 (권장 |
1/8/1999 | 1 월 8 일mdy모드;dmy모드 |
1/18/1999 | 1 월 18 일mdy모드; |
01/02/03 | 2003 년 1 월 2 일 inmdy모드; 2003 년 2 월 1 일 indmy모드; 2001 년 2 월 3 일 inYMD모드 |
1999-Jan-08 | 1 월 8 일 모든 모드 |
1 월 -08-1999 | 1 월 8 일 모든 모드 |
08-Jan-1999 | 1 월 8 일 모든 모드 |
99-Jan-08 | 1 월 8 일YMD모드, |
08-Jan-99 | 1 월 8 일, 오류를 제외하고YMD모드 |
1 월 -08-99 | 1 월 8 일, 오류를 제외하고YMD모드 |
19990108 | 18487_18524 |
990108 | 18487_18524 |
1999.008 | 연도 및 요일 |
J2451187 | Julian Day |
BC 1 월 8 일 | 99 학년 일반 시대 전 |
토토 캔 유형은입니다.토토 캔 [p)] 토토 캔대없이and토토 캔 [(p)] with Time Zone. 그냥 쓰기Time토토 캔대가없는 토토 캔.
이러한 유형에 대한 유효한 입력은 하루의 토토 캔으로 구성됩니다.테이블and테이블.) 입력에 토토 캔대가 지정된 경우토토 캔대가없는 토토 캔, 그것은 조용합니다America/New_York. 이 경우를 지정합니다토토 캔이있는 토토 캔value.
표 8-11. 토토 캔 입력
example | 설명 |
---|---|
04 : 05 : 06.789 | ISO 8601 |
04 : 05 : 06 | ISO 8601 |
04 : 05 | ISO 8601 |
040506 | ISO 8601 |
04 : 05 AM | 04:05와 동일; AM은 가치에 영향을 미치지 않습니다 |
04 : 05 PM | 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 | 전체 이름으로 지정된 토토 캔대 |
표 8-12. 토토 캔대 입력
example | 설명 |
---|---|
PST | 약어 (태평양 표준 토토 캔) |
America/New_York | 풀 타임 존 이름 |
pst8pdt | POSIX 스타일의 토토 캔대 사양 |
-8 : 00 | ISO-8601 PST의 오프셋 |
-800 | ISO-8601 PST의 오프셋 |
-8 | ISO-8601 PST의 오프셋 |
Zulu | UTC에 대한 군사 약어 |
z | 짧은 형태의Zulu |
참조섹션 8.5.3토토 캔대 지정 방법에 대한 자세한 내용은
타임 스탬프 유형에 대한 유효한 입력은ad또는BC.ad/BC토토 캔대 앞에 나타날 수 있지만이
1999-01-08 04:05:06
및 :
1999-01-08 04:05:06 -8 : 00
유효한 값이며ISO8601 표준. 또한
1 월 8 일 04:05:06 1999 PST
지원됩니다.
theSQL표준토토 캔이없는 타임 스탬프and토토 캔대가있는 타임 스탬프A의 존재에 의한 리터럴"+"또는"-". 따라서.에 따르면
타임 스탬프 '2004-10-19 10:23:54'
is토토 캔대가없는 타임 스탬프,
타임 스탬프 '2004-10-19 10 : 23 : 54+02'
is토토 캔대가있는 타임 스탬프. PostgreSQL절대 검사하지 마십시오토토 캔대가없는 타임 스탬프. a토토 캔이 지남에 따라 타임 스탬프, 올바른 명시 적 유형을 제공합니다 :
토토 캔대가있는 타임 스탬프 '2004-10-19 10 : 23 : 54+02'
로 결정된 문자 그대로토토 캔대가없는 타임 스탬프, PostgreSQL언제든지 조용히 무시할 것입니다
for토토 캔대가있는 타임 스탬프,gmt). 입력 값TimeZone매개 변수이며의 오프셋을 사용하여 UTC로 변환됩니다.TimeZoneZone.
언제토토 캔대가있는 타임 스탬프값은 출력입니다. 항상 UTC에서TimeZoneZone 및 표시TimeZone또는 사용토토 캔대에서구성 (참조섹션).
타임 스탬프없이and토토 캔이 지남에 따라 타임 스탬프일반적으로타임 스탬프값을 가져 가거나 |TimeZone현지 토토 캔. 다른토토 캔대에서.
간격값은 다음과 같이 작성할 수 있습니다
[@] 수량 Unit [수량 Unit...] [방향]
어디서 :수량isUnitis마이크로 초, millisecond, Second, Minute, Hour, day, 주, Month, Year, 10 년, Century, 밀레니엄또는 약어 또는방향할 수 있습니다Ago또는 비어 있습니다. AT 부호 (@)는 선택적 노이즈입니다. 다른 양
일, 토토 캔, 몇 분 및 초의 양이 될 수 있습니다'1 12:59:10'|'1 일 12 토토 캔 59 분 10 초'.
선택 사항 하위 초 정밀도p0과 6 사이 여야합니다
내부간격값은입니다타임 스탬프뺄셈,이 스토리지Justify_Days
andJustify_hours
조정할 수 있습니다
PostgreSQL지지합니다테이블. 값Infinityand-infinity특별히 대표됩니다지금및 관련 문자열
표 8-13. 특별 날짜/토토 캔 입력
입력 문자열 | 유효한 유형 | 설명 |
---|---|---|
epoch | 날짜, 타임 스탬프 | 1970-01-01 00 : 00 : 00+00 (UNIX 시스템 토토 캔 |
Infinity | 타임 스탬프 | 다른 모든 토토 캔 스탬프보다 늦게 |
-infinity | 타임 스탬프 | 다른 모든 타임 스탬프보다 일찍 |
지금 | 날짜, Time, 타임 스탬프 | 현재 트랜잭션의 시작 토토 캔 |
오늘 | 날짜, 타임 스탬프 | 오늘 자정 |
내일 | 날짜, 타임 스탬프 | 내일 자정 |
어제 | 날짜, 타임 스탬프 | 어제 자정 |
Allballs | Time | 00 : 00 : 00.00 UTC |
다음SQL-Compatible 함수도 사용할 수 있습니다current_date, current_time, current_timestamp, LocalTime, LocalTimestamp. 후자 4 명은섹션.) 그러나 이것들은 SQL 함수이며not
날짜/토토 캔 유형의 출력 형식은 하나로 설정할 수 있습니다.SQL(Ingres), 전통적인 우편둥이 및세트. 기본값은입니다.ISO형식. (그만큼SQL표준에는 ISO를 사용해야합니다"SQL"출력 형식은 역사적 사고입니다.)테이블각 출력 스타일의 예를 보여줍니다. 의 출력날짜andTime유형
표 8-14. 날짜/토토 캔 출력 스타일
스타일 사양 | 설명 | example |
---|---|---|
ISO | ISO 8601/SQL 표준 | 1997-12-17 07 : 37 : 16-08 |
SQL | 전통적인 스타일 | 12/17/1997 07 : 37 : 16.00 PST |
Postgres | 원본 스타일 | wed 12 월 17 일 07:37:16 1997 PST |
독일어 | 지역 스타일 | 17.12.1997 07 : 37 : 16.00 PST |
inSQL및 Postgres섹션이 설정이 해석에 어떤 영향을 미치는지테이블예를 보여줍니다.
표 8-15. 날짜 명령 규칙
Datestyle설정 | 입력 순서 | 출력 예 |
---|---|---|
SQL, DMY | day/Month/Year | 17/12/1997 15 : 37 : 16.00 CET |
SQL, MDY | Month/day/Year | 12/17/1997 07 : 37 : 16.00 PST |
Postgres, dmy | day/Month/Year | 수요일 17 Dec 07:37:16 1997 PST |
간격출력은 입력처럼 보입니다Century또는주는 몇 년으로 변환되었습니다Ago
[ 수량 Unit [ ... ] ] [ Days ] [ 토토 캔:mings:초 ]
날짜/토토 캔 스타일은 사용자가 선택할 수 있습니다.데이터 스타일 설정명령,Datestyle매개 변수postgresql.conf구성 파일 또는pgdatestyle서버 또는 클라이언트의 환경 변수. 서식TO_CHAR
(참조섹션 9.8)도 사용할 수 있습니다
토토 캔대 및 토토 캔 구역 규칙은 영향을받습니다PostgreSQL현재 지원됩니다"표준 토토 캔"선택한 토토 캔대의 경우 no
PostgreSQL노력SQL일반적인 사용에 대한 표준 정의. 그러나SQL표준에는 홀수 믹스가 있습니다
비록날짜타입은 그렇지 않습니다Time타입 캔. 현실 세계의 토토 캔대
기본 토토 캔대는 상수 숫자로 지정됩니다.UTC. 그것은DST경계.
이러한 어려움을 해결하려면 날짜/토토 캔을 사용하는 것이 좋습니다not사용토토 캔대가있는 토토 캔(하지만PostgreSQLforSQL표준).PostgreSQL현지 토토 캔대를 가정합니다
모든 토토 캔대 인식 날짜와 토토 캔은 내부적으로 저장됩니다UTC. 그들은 변환됩니다TimeZone구성 매개 변수에 표시되기 전에
PostgreSQL허용합니다
예를 들어 풀 타임 존 이름America/New_York. 인식 된 토토 캔대PG_TIMEZONE_NAMES보기 (참조섹션 44.56). PostgreSQLzic토토 캔대 데이터
예를 들어 토토 캔대 약어PST. 그러한 사양은 단지 a를 정의합니다PG_TIMEZONE_ABBREVS보기 (참조섹션 44.55). 너TimeZone또는log_timezone토토 캔대 약어를 사용하지만 사용할 수 있습니다토토 캔대에서운영자.
토토 캔대 이름과 약어 외에도PostgreSQL수락합니다std오프셋또는std오프셋DST, 여기std구역 약어입니다.오프셋는 숫자 오프셋입니다DST는 선택적인 일광 절약입니다est5edt아직 인정 된 영역이 아닙니다zic토토 캔대 데이터베이스posixrules입력. 표준PostgreSQL설치,posixrules|US/Easternposixrules파일.
하나는 Posix 스타일의 토토 캔대 기능에 대해 조심해야합니다.foobar0으로 토토 캔대를 설정의지West38978_39012PostgreSQL긍정적 인 토토 캔대가 상쇄되는 ISO-8601 컨벤션을 따릅니다East
모든 경우에 토토 캔대 이름이 인식됩니다PostgreSQL8.2 이전의 버전
성명이나 약어는 두 가지에 딱딱하게 연결되어 있지 않습니다.../share/timezone/and.../share/timezonesets/설치PostgreSQL : 문서 : 8.3 : 날짜/스포츠 토토 구성 파일).
theTimeZone구성 매개 변수를 파일에서 설정할 수 있습니다postgresql.conf또는 다른 것18 장. 몇 가지도 있습니다
ifTimeZonepostgresql.conf서버로서TZ환경 변수 ASTZ그렇지 않습니다PostgreSQL, 서버localtime (). 기본 토토 캔대PostgreSQL의 알려진 토토 캔대. (이것들log_timezone,
theSQL명령토토 캔대 설정토토 캔대를 설정합니다토토 캔대 설정더
thepgtz환경 변수, iflibpqa 보낼 응용 프로그램토토 캔대 설정