Postgresql 9.2.24 문서 | ||||
---|---|---|---|---|
이전 | up | 8 장. | 다음 |
PostgreSQL전체를 지원합니다SQL날짜와 토토 꽁 머니표 8-9.PostgreSQL : 문서 : 9.2 : 날짜/사설 토토 기능 및 연산자. 날짜가 있습니다섹션 B.4더 많은 것
표 8-9. 날짜/토토 꽁 머니 유형
이름 | 스토리지 크기 | 설명 | 낮은 값 | 높은 가치 | 해상도 |
---|---|---|---|---|---|
타임 스탬프 [(p)] [토토 꽁 머니대가없는 | 8 바이트 | 날짜와 토토 꽁 머니 모두 (토토 꽁 머니대 없음) | 4713 BC | 294276 AD | 1 마이크로 초 / 14 자리 |
타임 스탬프 [(p)] with Time Zone | 8 바이트 | 토토 꽁 머니대와 토토 꽁 머니 구역이있는 날짜와 토토 꽁 머니 모두 | 4713 BC | 294276 AD | 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 자리 |
간격 [필드] [(p)] | 16 바이트 | 토토 꽁 머니 간격 | -178000000 년 | 178000000 년 | 1 마이크로 초 / 14 자리 |
참고 :SQL 표준은 그 글쓰기를 요구합니다타임 스탬프토토 꽁 머니대가없는 타임 스탬프및PostgreSQL그 행동을 존중합니다.토토 꽁 머니대가있는 타임 스탬프.) Timestamptz에 대한 약어로 받아 들여집니다.토토 꽁 머니대가있는 타임 스탬프; 이것은입니다.PostgreSQL확장.
Time, 타임 스탬프,간격선택적 정밀도를 수락하십시오pp|타임 스탬프and간격타입.
참고 :언제타임 스탬프값타임 스탬프값은입니다타임 스탬프값은 OR 이전에 몇 초 만에 저장됩니다타임 스탬프값은 사용하여 구현됩니다타임 스탬프표시된 것보다 표현 될 값
동일한 컴파일 타임 옵션은 또한를 결정합니다.Timeand간격값은 부동 소수점 번호 또는 8 바이트로 저장됩니다간격값은 크기로 정밀하게 저하됩니다
용Time유형, 허용 범위p는 8 바이트 일 때 0에서 6입니다
the간격유형에는 추가가 있습니다
연도
필드andp지정되어 있습니다.필드포함두 번째정밀도는에만 적용되므로
유형토토 꽁 머니대가있는 토토 꽁 머니정의됩니다날짜, Time, 토토 꽁 머니대가없는 타임 스탬프및토토 꽁 머니대가있는 타임 스탬프완전한 것을 제공해야합니다
유형AbstimeandReltime사용되는 정밀 유형이 낮습니다
날짜 및 토토 꽁 머니 입력은 거의 모든 합리적으로 허용됩니다.SQL-전통적, 전통적인Postgres및 기타. 일부 형식의 경우Datestyle매개 변수mdy선택합니다dmytoYMD연말 해석을 선택하려면
PostgreSQL더 유연합니다SQL표준 요구 사항. 보다부록 B정확한 구문 분석
날짜 또는 토토 꽁 머니 문자 그대로 입력이 필요하다는 것을 기억하십시오.섹션자세한 내용은SQL다음 구문이 필요합니다
타입[(p)] 'value'
여기서p선택 사항입니다Time, 타임 스탬프및간격유형. 허용 값은입니다
테이블에 대한 가능한 입력을 보여줍니다날짜타입.
표 8-10. 날짜 입력
example | 설명 |
---|---|
1999-01-08 | ISO 8601; 1 월 8 일 모든 모드에서 (권장 |
1999 년 1 월 8 일 | Datestyle입력 모드 |
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 | ISO 8601; 1999 년 1 월 8 일 모든 모드 |
990108 | ISO 8601; 1999 년 1 월 8 일 모든 모드 |
1999.008 | 연도 및 연도 |
J2451187 | 줄리안 날짜 |
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또는 사용토토 꽁 머니대에서구성 (참조섹션).
24623_24642타임 스탬프없이and토토 꽁 머니이 지남에 따라 타임 스탬프일반적으로타임 스탬프값을 가져 가거나 |TimeZone현지 토토 꽁 머니. 다른토토 꽁 머니대에서.
PostgreSQL지원테이블. 값Infinityand-infinity특별히 대표됩니다now및 관련 문자열
표 8-13. 특별 날짜/토토 꽁 머니 입력
입력 문자열 | 유효한 유형 | 설명 |
---|---|---|
epoch | 날짜, 타임 스탬프 | 1970-01-01 00 : 00 : 00+00 (UNIX 시스템 토토 꽁 머니 |
Infinity | 날짜, 타임 스탬프 | 다른 모든 타임 스탬프보다 늦게 |
-infinity | 날짜, 타임 스탬프 | 다른 모든 타임 스탬프보다 일찍 |
now | 날짜, Time, 타임 스탬프 | 현재 트랜잭션의 시작 토토 꽁 머니 |
오늘 | 날짜, 타임 스탬프 | 오늘 자정 |
내일 | 날짜, 타임 스탬프 | 내일 자정 |
어제 | 날짜, 타임 스탬프 | 어제 자정 |
Allballs | Time | 00 : 00 : 00.00 UTC |
다음SQL-컴파일 가능한 함수도 사용할 수 있습니다current_date, current_time, current_timestamp, LocalTime, LocalTimestamp. 후자 4 명은섹션.) 이들은 SQL 기능이며not인식
날짜/토토 꽁 머니 유형의 출력 형식은 하나로 설정할 수 있습니다.SQL(Ingres), 전통Postgres(unix날짜형식) 또는 독일어. 기본값은입니다ISO형식. (그만큼SQL표준이 필요합니다"SQL"출력 형식은 역사적 사고입니다.)테이블각 출력 스타일의 예를 보여줍니다. 의 출력날짜andTime유형
표 8-14. 날짜/토토 꽁 머니 출력 스타일
스타일 사양 | 설명 | example |
---|---|---|
ISO | ISO 8601, SQL 표준 | 1997-12-17 |
SQL | 전통적인 스타일 | 12/17/1997 07 : 37 : 16.00 |
Postgres | 원본 스타일 | 수요일 12 월 17 일 07:37:16 1997 |
독일어 | 지역 스타일 | 17.12.1997 07 : 37 : 16.00 |
참고 :ISO 8601 대문자 사용을 지정합니다T날짜를 분리하려면PostgreSQL수락T35839_35970
inSQL및 Postgres섹션이 설정이 해석에 미치는 영향테이블예를 보여줍니다.
표 8-15. 날짜 명령 규칙
Datestyle설정 | 입력 순서 | 출력 예 |
---|---|---|
SQL, dmy | day/Month/연도 | 17/12/1997 15 : 37 : 16.00 |
SQL, MDY | Month/day/연도 | 12/17/1997 07 : 37 : 16.00 |
Postgres, dmy | day/Month/연도 | 수요일 12 월 17 일 07:37:16 1997 |
날짜/토토 꽁 머니 스타일은 사용자가 선택할 수 있습니다.데이터 스타일 설정명령,Datestyle매개 변수Postgres구성 파일 또는pgdatestyle서버 또는 클라이언트의 환경 변수.
서식 함수to_char
(참조섹션 9.8)도 사용할 수 있습니다
토토 꽁 머니대 및 토토 꽁 머니대 규칙은 영향을받습니다PostgreSQL널리 사용되는 Iana를 사용합니다
PostgreSQLSQL일반적인 사용에 대한 표준 정의. 그러나SQL표준에는 홀수 믹스가 있습니다
비록날짜타입은 가질 수 없습니다Time타입 캔. 현실 세계의 토토 꽁 머니대는 의미가 거의 없습니다
기본 토토 꽁 머니대는 상수 숫자로 지정됩니다.UTC. 그것은dst경계.
이러한 어려움을 해결하려면 날짜/토토 꽁 머니을 사용하는 것이 좋습니다not추천토토 꽁 머니대가있는 토토 꽁 머니PostgreSQL레거시 응용 프로그램 및SQL표준).PostgreSQL가정합니다
모든 토토 꽁 머니대 인식 날짜와 토토 꽁 머니은 내부적으로 저장됩니다UTC. 그들은 변환됩니다TimeZone구성 매개 변수에 표시되기 전에
PostgreSQL허용합니다
예를 들어 풀 타임 존 이름America/New_York. 인식 된 토토 꽁 머니대PG_TIMEZONE_NAMES보기 (참조섹션 45.69). PostgreSQL
예를 들어 토토 꽁 머니대 약어PST. 그러한 사양은 단지 a를 정의합니다PG_TIMEZONE_ABBREVS보기 (참조섹션 45.68). 너TimeZone또는log_timezone토토 꽁 머니대 약어로 약어를 사용할 수 있습니다.토토 꽁 머니대에서운영자.
토토 꽁 머니대 이름과 약어 외에도PostgreSQL수락 할 것입니다std오프셋또는std오프셋dst, 여기서std구역 약어입니다.오프셋는 숫자 오프셋입니다dst는 선택적 일광 절약입니다est5edt아직 인정 된 영역이 아닙니다posixrules입력. 표준PostgreSQL설치,posixrules|US/Easternposixrules파일.
간단히 말해서, 이것은 약어와의 차이입니다2014-06-04 12:00 America/New_York뉴욕의 정오 현지 토토 꽁 머니을 대표합니다.2014-06-04 12:00 EDT이를 지정합니다2014-06-04 12:00정오 동부 표준 토토 꽁 머니 (UTC-5)을 지정합니다.
문제를 복잡하게하기 위해 일부 관할 구역은 동일하게 사용했습니다MSK몇 년 동안 UTC+3, UTC+4 인치를 의미했습니다PostgreSQL해석EST위의 예, 그렇지 않습니다
POSIX 스타일의 토토 꽁 머니대 기능에 대해 조심해야합니다.토토 꽁 머니대를 foobar0으로 설정의지West37439_37473PostgreSQL양성 토토 꽁 머니대가 상쇄되는 ISO-8601 컨벤션을 따릅니다EastOF
모든 경우에 토토 꽁 머니대 이름과 약어가 있습니다PostgreSQL이전 버전
타임 존 이름이나 약어는 거의 연결되지 않습니다.../share/timezone/and.../share/timezonesets/의섹션 B.3).
theTimeZone구성 매개 변수를 파일에서 설정할 수 있습니다Postgres또는 다른 것18 장. 일부도 있습니다
theSQL명령토토 꽁 머니대 설정토토 꽁 머니대를 설정합니다토토 꽁 머니대 설정더 많은
thepgtz환경 변수입니다libpq클라이언트토토 꽁 머니대 설정명령으로
간격값을 사용하여 작성할 수 있습니다
[@] 수량 Unit [수량 Unit...] [방향]
여기서수량는 숫자입니다Unitis마이크로 초, millisecond, 두 번째, Minute, Hour, day, Week, Month, 연도, 10 년, Century, 밀레니엄, 또는방향can beAgo또는 빈. AT 부호 (@)는 선택적 노이즈입니다. 의 양Ago모든 것을 무효화합니다IntervalStyle로 설정되었습니다postgres_verbose.
일, 토토 꽁 머니, 몇 분 및 초의 양이 될 수 있습니다'1 12:59:10''1 일 12 토토 꽁 머니 59 분 10 초'. 또한,'200-10'동일하게 읽습니다'200 년 10 개월'. (이것들SQL표준 및 사용됩니다IntervalStyle가 설정되었습니다sql_standard.)
간격 값은 ISO 8601 토토 꽁 머니으로도 작성할 수 있습니다."형식표준 섹션 4.4.3.2 또는의"대체 형식"섹션
P 수량 Unit [ 수량 Unit ...] [t [ 수량 Unit ...]]
문자열은 a로 시작해야합니다.P및T테이블. 장치는 생략 될 수 있으며T. 특히의 의미M이전 또는 전 또는T.
대체 형식 :
P [ 년-달-Days ] [ T 토토 꽁 머니:mings:초 ]
문자열은 시작해야합니다P및 aT의 날짜와 토토 꽁 머니 부분을 분리합니다
a 간격 상수를 작성할 때필드사양 또는 할당 할 때 a필드사양, 해석필드. 예를 들어간격 '1'년1 년으로 읽히고간격 '1'1 초를 의미합니다. 또한,"오른쪽"의필드사양이 조용합니다간격 '1결과를 떨어 뜨립니다
에 따르면SQL표준 간격 값의 모든 필드는 동일해야합니다.'-1 2:03:04'두 날과 모두에 적용됩니다PostgreSQL필드를 가질 수 있습니다IntervalStyle로 설정되었습니다sql_standard그러면 선행 표시가 고려됩니다PostgreSQL해석이 사용됩니다. 에게
내부간격값이 저장됩니다타임 스탬프뺄셈, 이것Justify_Days
andJustify_hours
조정할 수 있습니다
장황한 입력 형식 및 더 많은 분야에서'1.5 주'또는'01 : 02 : 03.45 '. 이러한 입력은'1.5 개월'1 개월이됩니다
테이블유효한 몇 가지 예를 보여줍니다간격입력.
간격 유형의 출력 형식은 중 하나로 설정할 수 있습니다.sql_standard, Postgres, postgres_verbose또는ISO_8601, 명령 사용IntervalStyle 설정. 기본값은입니다.Postgres형식.테이블각 출력 스타일의 예를 보여줍니다.
thesql_standard스타일 제작
의 출력Postgres스타일PostgreSQL8.4 이전에 출시 될 때Datestyle매개 변수가 설정되었습니다ISO.
의 출력postgres_verbose스타일은의 출력과 일치합니다.PostgreSQL8.4 이전에 출시 될 때Datestyle매개 변수가 설정되었습니다ISO출력.
의 출력ISO_8601스타일"형식ISO의 4.4.3.2 절에 설명되어 있습니다