이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 8.17. 토토 결과 유형버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

8.17. 범위

범위 사설 토토은 다양한 값을 나타내는 데이터 사설 토토입니다.하위 사설 토토). 예를 들어, 범위타임 스탬프시간 범위를 나타내는 데 사용될 수 있습니다tsrange(짧은"타임 스탬프 범위") 및타임 스탬프하위 사설 토토입니다. 하위 사설 토토은 총계가 있어야합니다

범위 사설 토토은 많은 요소를 나타 내기 때문에 유용합니다

8.17.1. 내장 범위 사설 토토

PostgreSQL은 다음과 같은 내장 범위 사설 토토과 함께 제공됩니다.

  • int4Range- 범위정수

  • int8Range- 범위bigint

  • NumRange- 범위숫자

  • tsrange- 범위시간대가없는 타임 스탬프

  • TSTZRANGE- 범위시간대가있는 타임 스탬프

  • Daterange- 범위날짜

또한 자신의 범위 사설 토토을 정의 할 수 있습니다. 보다사설 토토 만들기자세한 내용은

8.17.2. 예

테이블 예약 생성 (TsRange 중 룸 int);

참조테이블and표 9-46

8.17.3. 포용적이고 독점적입니다

모든 비어 있지 않은 범위에는 두 개의 경계가 있습니다.

범위의 텍스트 형태에서 포괄적 인 하한은"["독점적 인 하한은입니다"(". 마찬가지로, 포괄적 인 상한은입니다"]", 독점적 인 상한은입니다")". (보다섹션 8.17.5더 많은 것

함수lower_incand어퍼_inc하부의 포괄 성을 테스트하십시오

8.17.4. 무한 (무한) 범위

범위의 하한을 생략 할 수 있습니다.

이것은 하한이임을 고려하는 것과 같습니다."마이너스 인피니티"또는 상한은"Plus Infinity"각각. 그러나 참고

또한 일부 요소 사설 토토은이라는 개념이 있습니다."Infinity", 그러나 그것은 단지 또 다른 값입니다.[오늘,]|[오늘,). 하지만[오늘, 인피니티][오늘, 인피니티)- 후자는 그것을 제외합니다타임 스탬프valueInfinity.

함수lower_infand어퍼 _inf무한 하부 및 상한을 테스트합니다

8.17.5. 범위 입력/출력

범위 값에 대한 입력은 다음 중 하나를 따라야합니다.

(하위 바운드,상한)하위 바운드,상한]하위 바운드,상한)하위 바운드,상한]

괄호 또는 브래킷은 하부와 상단이

the하위 바운드둘 중 하나 일 수 있습니다상한하위 사설 토토에 대한 유효한 입력 또는

각 바운드 값은 사용하여 인용 할 수 있습니다"(이중 인용) 문자. 바운드 값이 필요합니다"", 아무것도 쓰지 않기 때문에 무한대를 의미합니다

범위 값 전후에 공백이 허용되지만

참고 :이 규칙은 글쓰기와 매우 유사합니다섹션 8.16.6

예 :

- 3 포함, 7은 포함되지 않으며 그 사이에 모든 지점이 포함됩니다.

8.17.6. 범위 구성

각 범위 유형은 다음과 같은 이름의 생성자 기능을 갖습니다."()", "(]", "[)"또는"[]". 예를 들어:

- 전체 형식은 : 하한, 상한 및 텍스트 인수를 나타냅니다.

8.17.7. 이산 범위 사설 토토

개별 범위는 요소 사설 토토이 잘 정의 된 것입니다"단계":정수또는날짜. 이러한 사설 토토에서숫자사설 토토은 범위와 마찬가지로 연속적입니다타임 스탬프. (일지라도타임 스탬프정밀도가 제한되어 있으며 가능합니다

개별 범위 사설 토토에 대해 생각하는 또 다른 방법은"다음"또는"이전"각 요소 값에 대한 값.[4,8]and(3,9)동일한 값 세트를 나타냅니다.

개별 범위 사설 토토에 a가 있어야합니다.Canonicalization

내장 범위 사설 토토int4Range, int8RangeDaterange모두를 포함하는 표준 형태를 사용합니다[). 사용자 정의 범위 사설 토토은 다른 것을 사용할 수 있습니다

8.17.8. 새로운 범위 사설 토토 정의

사용자는 자신의 범위 사설 토토을 정의 할 수 있습니다. 가장 일반적인 이유float8:

범위로 FloatRange 사설 토토 생성 (

왜냐하면float8의미가 없음"단계", 우리는 a를 정의하지 않습니다

하위 사설 토토이사설 토토 만들기명령표준함수. 그만큼[1, 7]and[1, 8)타임 스탬프단계를 가질 수 있습니다

자신의 범위 사설 토토 정의도

또한 GIST와 함께 사용할 범위 사설 토토subtype_diff, 함수. (지수는 할 것입니다subtype_diffX마이너스Y)로 표시float8값. 위의 예에서는 그 기능입니다float8마이너스 연산자subtype_diff함수

참조PostgreSQL : 문서 : 9.3 : 토토 사이트 생성더 많은 경우

8.17.9. 인덱싱

gist 및 sp-gist 인덱스는 테이블 열에 대해 생성 될 수 있습니다.

GIST를 사용하여 예약에서 인덱스 예약 _IDX 생성;

GIST 또는 SP-GIST 인덱스는 다음과 관련된 쿼리를 가속화 할 수 있습니다.=, &&, <@, @>, <<, , -|-, &<&(참조표 9-45

또한 테이블 용 B- 트리 및 해시 인덱스를 만들 수 있습니다.<and운영자,

8.17.10. 범위에 대한 제약

while고유 한는 자연스러운 제약입니다테이블 작성). 제외 제약 조건이 허용됩니다"비 겹치핑"범위 유형에서. 예를 들어:

테이블 예약 생성 (

그 제약 조건은 겹치는 값을 방지합니다

예약 값에 삽입

당신은를 사용할 수 있습니다btree_gist배제를 정의하기위한 확장btree_gist설치, 다음은 설치됩니다

확장 생성 btree_gist;