포스트그레전체 지원 세트SQL날짜 및 토토 꽁 머니 유형.
표 3-6. 날짜/토토 꽁 머니 유형
| 유형 | 설명 | 저장 | 가장 빠른 | 최신 | 해결 |
|---|---|---|---|---|---|
| 타임스탬프 | 날짜 및 토토 꽁 머니 모두 | 8바이트 | 기원전 4713년 | AD 1465001 | 1마이크로초/14 숫자 |
| 타임스탬프 [ 토토 꽁 머니대 포함 ] | 날짜 및 토토 꽁 머니과 토토 꽁 머니 구역 | 8바이트 | 서기 1903년 | 서기 2037년 | 1마이크로초/14 숫자 |
| 간격 | 토토 꽁 머니 간격용 | 12바이트 | -178000000년 | 178000000년 | 1마이크로초 |
| 날짜 | 날짜만 | 4바이트 | 기원전 4713년 | 서기 32767 | 1일 |
| 토토 꽁 머니 [ 토토 꽁 머니대 없음 ] | 토토 꽁 머니만 해당 | 4바이트 | 00:00:00.00 | 23:59:59.99 | 1마이크로초 |
| 함께하는 토토 꽁 머니 토토 꽁 머니대 | 토토 꽁 머니만 해당 | 4바이트 | 00:00:00.00+12 | 23:59:59.99-12 | 1마이크로초 |
참고:이전 버전과의 호환성을 보장하기 위해 의포스트그레스또한 계속합니다 제공하다날짜토토 꽁 머니(동등함타임스탬프) 및기간(동일함간격), 그러나 이에 대한 지원은 현재 암시적 번역으로 제한됨타임스탬프그리고간격. 는 유형절대그리고상대토토 꽁 머니은 정밀도가 낮은 유형으로 사용됩니다. 내부적으로. 이러한 유형을 사용하지 않는 것이 좋습니다. 새로운 애플리케이션에서는 이전 애플리케이션을 옮기는 것이 좋습니다. 적절할 때 끝났습니다. 이러한 내부 유형 중 일부 또는 전부 향후 릴리스에서는 사라질 수 있습니다.
날짜 및 토토 꽁 머니 입력은 거의 모든 합리적인 방식으로 허용됩니다. 다음을 포함한 형식ISO-8601, SQL-호환, 전통포스트그레및 기타. 는 날짜 입력 시 월, 일 순서가 모호할 수 있으며, 따라서 어떻게 해야 하는지 지정하는 설정이 존재합니다. 모호한 경우로 해석됩니다. 명령날짜 스타일을 '미국'으로 설정또는SET DateStyle을 '비유럽'으로 변경변형 "월"을 지정합니다. 하루 전", 명령날짜 스타일을 다음으로 설정 '유럽'"월 전일" 변형을 설정합니다.ISOstyle이 기본값이지만 이것은 기본값은 컴파일 타임이나 런타임에 변경될 수 있습니다.
참조PostgreSQL : 문서 : 7.1 : 날짜/배트맨 토토 지원에 대한 날짜/토토 꽁 머니 입력 및 인식된 날짜에 대한 정확한 구문 분석 규칙 토토 꽁 머니대.
모든 날짜 또는 토토 꽁 머니 입력은 포함되어야 함을 기억하십시오 텍스트 문자열과 같은 작은따옴표로 묶습니다. 참조섹션 1.1.2.516037_16099
유형 '값'하지만포스트그레더 유연합니다.
다음은 다음에 대한 가능한 입력입니다.날짜유형.
표 3-7. 날짜 입력
| 예 | 설명 |
|---|---|
| 1999년 1월 8일 | 명확함 |
| 1999-01-08 | ISO-8601 형식, 선호함 |
| 1/8/1999 | 미국; 8월 1일로 읽음 유럽 모드 |
| 8/1/1999 | 유럽인; 다음과 같이 읽다 미국 모드에서는 8월 1일 |
| 1/18/1999 | 미국; 1월 18일로 읽음 어떤 모드에서든 |
| 19990108 | ISO-8601 연도, 월, 일 |
| 990108 | ISO-8601 연도, 월, 일 |
| 1999.008 | 연도 및 일자 연도 |
| 99008 | 연도 및 일자 연도 |
| 기원전 99년 1월 8일 | 99년 전 서기시대 |
참고:월5월명백한 이유로 명시적인 약어가 없습니다.
SQL99에 따라 이 유형은 다음과 같이 참조될 수 있습니다.토토 꽁 머니그리고토토 꽁 머니 없는 토토 꽁 머니 구역.
다음은 유효합니다.토토 꽁 머니입력.
이 유형은 SQL92에 의해 정의되지만 정의는 다음을 나타냅니다. 유형을 거의 쓸모 없게 만드는 근본적인 결함. 대부분의 경우 다음의 조합은날짜, 토토 꽁 머니및타임스탬프전체 범위를 제공해야 합니다. 모든 애플리케이션에 필요한 날짜/토토 꽁 머니 기능입니다.
토토 꽁 머니대 포함 토토 꽁 머니모두 허용 다음 항목에도 유효한 입력입니다.토토 꽁 머니유형, 다음과 같이 법적 토토 꽁 머니대가 추가됩니다.
표 3-11. 토토 꽁 머니대 입력 토토 꽁 머니
| 예 | 설명 |
|---|---|
| 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-12토토 꽁 머니대의 더 많은 예를 보려면.
다음에 대한 유효한 입력입니다.타임스탬프유형 날짜와 토토 꽁 머니의 연결로 구성되며 그 뒤에는 선택 사항AD또는BC, 그 뒤에 선택적 토토 꽁 머니대가 옵니다. (참조 아래.) 따라서
1999-01-08 04:05:06 -8:00유효합니다타임스탬프값은ISO-호환. 또한, 광범위한 형식
1999년 1월 8일 04:05:06 PST지원됩니다.
간격s는 다음과 같이 지정할 수 있습니다. 다음 구문:
수량 단위 [수량 단위...] [방향] @ 수량단위 [방향]여기서:수량은 ...,-1, 0, 1, 2, ...; 단위is초, 분, 토토 꽁 머니, 일, 주, 월, 년, 10년, 세기, 밀레니엄, 또는 이러한 단위의 약어 또는 복수형;방향될 수 있습니다전또는 비어 있습니다.
다음SQL-호환 함수는 날짜 또는 토토 꽁 머니 입력으로 사용할 수 있습니다. 해당 데이터 유형:CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP.
포스트그레또한 지원합니다 편의를 위해 몇 가지 특수 상수를 사용합니다.
'지금'다음과 같은 경우 해결됩니다. 값이 삽입되었습니다.'현재'이다 값이 검색될 때마다 해결됩니다. 그래서 당신은 아마도 사용하고 싶습니다'지금'대부분의 경우 응용 프로그램. (물론 당신은)정말사용하고 싶습니다CURRENT_TIMESTAMP, 다음과 같습니다.'지금'.)출력 형식은 네 가지 스타일 중 하나로 설정될 수 있습니다 ISO-8601,SQL(잉그레스), 전통적인 Postgres 및 독일어, 다음을 사용하여날짜 스타일 설정. 기본값은ISO형식.
표 3-14. 날짜/토토 꽁 머니 출력 스타일
| 스타일 사양 | 설명 | 예 |
|---|---|---|
| 'ISO' | ISO-8601 표준 | 1997-12-17 07:37:16-08 |
| 'SQL' | 전통적인 스타일 | 1997년 12월 17일 07:37:16.00 태평양 표준시 |
| '포스트그레스' | 오리지널 스타일 | 수 12월 17일 07:37:16 1997 태평양 표준시 |
| '독일어' | 지역 스타일 | 1997년 12월 17일 07:37:16.00 태평양 표준시 |
의 출력날짜그리고토토 꽁 머니styles는 물론 날짜나 토토 꽁 머니 부분뿐입니다. 위의 예에 따라.
그SQL스타일에는 유럽과 월 여부를 결정하는 비유럽(미국) 변형 일을 따르거나 그 반대의 경우도 마찬가지입니다. (위의 날짜/토토 꽁 머니 입력 참조, 이 설정이 입력 값의 해석에 어떤 영향을 미치는지.)
표 3-15. 날짜 순서 규칙
| 스타일 사양 | 설명 | 예 |
|---|---|---|
| 유럽인 | 일/월/년 | 1997년 17월 12일 15:37:16.00 충족 |
| 미국 | 월/일/년 | 1997년 12월 17일 07:37:16.00 태평양 표준시 |
간격출력은 입력과 같습니다. 형식(다음과 같은 단위 제외)주또는세기연도로 변환되며 일. ISO 모드에서 출력은 다음과 같습니다.
[ 수량 단위 [ ... ] ] [ 일 ] 토토 꽁 머니:분 [ 전 ]
날짜/토토 꽁 머니의 모양에 영향을 미치는 방법에는 여러 가지가 있습니다 유형:
그PGDATESTYLE환경 postmaster에서 백엔드가 직접 사용하는 변수 시작합니다.
그PGDATESTYLE환경 세션에서 프런트엔드 libpq가 사용하는 변수 시작합니다.
날짜 스타일 설정 SQL명령.
포스트그레스노력합니다 호환 가능SQL92정의 일반적인 사용의 경우. 그러나,SQL92표준에는 날짜와 토토 꽁 머니이 이상하게 혼합되어 있습니다. 종류와 능력. 두 가지 명백한 문제는 다음과 같습니다.
비록날짜유형은 그렇지 않습니다. 연관된 토토 꽁 머니대가 있습니다.토토 꽁 머니할 수 있거나 할 수 있는 유형입니다. 실제 토토 꽁 머니대 세계는 날짜와 연관되지 않는 한 아무 의미도 가질 수 없습니다. 그리고 오프셋이 일년 내내 달라질 수 있기 때문에 토토 꽁 머니은 일광 절약 토토 꽁 머니 제한이 있습니다.
기본 토토 꽁 머니대는 상수 정수로 지정됩니다. GMT/UTC로부터 오프셋. 적응이 불가능해요 날짜/토토 꽁 머니 계산 시 일광 절약 토토 꽁 머니 가로질러DST경계.
이러한 문제를 해결하려면 날짜/토토 꽁 머니을 사용하는 것이 좋습니다. 토토 꽁 머니대를 사용할 때 날짜와 토토 꽁 머니을 모두 포함하는 유형입니다. 우리 추천합니다아님SQL92 유형 TIME 사용 WITH TIME ZONE(다음에서 지원됨)포스트그레기존 애플리케이션 및 다른 RDBMS 구현과의 호환성).포스트그레스모든 유형에 대해 현지 토토 꽁 머니을 가정합니다. 날짜 또는 토토 꽁 머니만 포함됩니다. 또한 토토 꽁 머니대 지원은 기본 운영 체제 토토 꽁 머니대에서 파생됨 기능을 갖추고 있으므로 일광 절약 토토 꽁 머니제를 처리할 수 있으며 다른 예상되는 동작.
포스트그레스토토 꽁 머니대 획득 사이의 날짜에 대한 기본 운영 체제의 지원 1902년과 2038년(Unix 스타일의 일반적인 날짜 제한에 가깝습니다) 시스템). 이 범위를 벗어나면 모든 날짜가 다음으로 간주됩니다. UTC(Universal Coordinated Time)로 지정 및 사용됩니다.
모든 날짜와 토토 꽁 머니은 내부적으로 UTC로 저장됩니다. 전통적으로 그리니치 표준시(GMT)로 알려져 있습니다. 토토 꽁 머니은 데이터베이스 서버에서 현지 토토 꽁 머니으로 변환된 후 클라이언트 프런트엔드로 전송되므로 기본적으로 서버에 있습니다. 토토 꽁 머니대.
토토 꽁 머니대 동작에 영향을 미치는 방법에는 여러 가지가 있습니다:
TZ 환경 변수는 백엔드에서 사용됩니다. 기본 토토 꽁 머니으로 postmaster 시작 시 직접 구역.
다음에서 사용하는 클라이언트에 설정된 PGTZ 환경 변수 libpq는 토토 꽁 머니대 정보를 백엔드로 보냅니다. 연결.
그SQL명령토토 꽁 머니대 설정토토 꽁 머니대를 설정합니다. 세션.
그SQL92한정자 켜짐
타임스탬프토토 꽁 머니대 '영역'어디에서영역지정 가능 텍스트 토토 꽁 머니대(예:'PST') 또는 간격(예:간격 '-08:00').
참고:잘못된 토토 꽁 머니대가 지정되면, 토토 꽁 머니대는 GMT가 됩니다(대부분의 시스템에서는 어쨌든).
참고:컴파일러 옵션이 USE_AUSTRALIAN_RULES인 경우 그러면 설정됩니다EST참조 오프셋이 있는 호주 동부 표준시 UTC 기준 +10:00토토 꽁 머니.
포스트그레율리우스력 날짜를 사용합니다. 모든 날짜/토토 꽁 머니 계산에 사용됩니다. 그들은 좋은 속성을 가지고 있습니다 다음보다 최근 날짜를 정확하게 예측/계산합니다. 기원전 4713년부터 먼 미래까지, 일년의 길이는 365.2425일이다.
19세기 이전 날짜 관례로 인해 읽기는 흥미롭지만 보증할 만큼 일관성이 없습니다. 날짜/토토 꽁 머니 핸들러로 코딩합니다.