9.20. 범위 기능 및 운영자

참조PostgreSQL : 문서 : 13 : 8.17. 스포츠 토토 결과 유형토토 유형의 개요는

표 9.53토토 유형에 사용 가능한 특수 연산자를 보여줍니다. 그 외에도에 표시된 일반적인 비교 연산자표 9.1토토 유형에 사용할 수 있습니다. 비교 연산자는 먼저 토토 하한으로 순서를 지정하고, 그것들이 같으면 상한을 비교합니다. 이로 인해 일반적으로 유용한 전체 주문이 발생하지 않지만 운영자는 고유 한 인덱스가 토토에 구성 될 수 있도록 제공됩니다.

표 9.53. 레인지 운영자

운영자

설명

예제

AnyRange @ AnyRange부울

첫 번째 토토에 두 번째 토토가 포함되어 있습니까?

int4Range (2,4) @ int4Range (2,3)t

anyrange @ AnyElement부울

토토에 요소가 포함되어 있습니까?

'[2011-01-01,2011-03-01)':: tsrange @ '2011-01-10':: timestampt

AnyRange <@ AnyRange부울

첫 번째 토토는 두 번째 토토가 포함되어 있습니까?

int4Range (2,4) <@ int4Range (1,7)t

Anylement <@ AnyRange부울

요소가 토토에 포함되어 있습니까?

42 <@ int4Range (1,7)f

AnyRange && AnyRange부울

토토가 겹치는 것, 즉 공통 요소가 있습니까?

int8Range (3,7) && int8Range (4,12)t

AnyRange << AnyRange부울

첫 번째 토토가 두 번째 토토의 왼쪽에 엄격하게 남아 있습니까?

int8Range (1,10) << int8Range (100,110)T

AnyRange AnyRange부울

첫 번째 토토는 두 번째 토토의 오른쪽입니까?

int8Range (50,60) int8Range (20,30)t

AnyRange &< AnyRange부울

첫 번째 토토가 두 번째 오른쪽으로 확장되지 않습니까?

int8Range (1,20) 및 <int8Range (18,20)t

AnyRange & AnyRange부울

첫 번째 토토가 두 번째 왼쪽으로 확장되지 않습니까?

int8Range (7,20) & int8Range (5,10)t

AnyRange -|- AnyRange부울

토토는 인접 해 있습니까?

NumRange (1.1,2.2) - | - NumRange (2.2,3.3)t

AnyRange + AnyRangeAnyRange

토토의 결합을 계산합니다. 토토는 겹치거나 인접해야하므로 노동 조합이 단일 토토가되도록해야합니다 (그러나Range_Merge ()).

NumRange (5,15) + NumRange (10,20)[5,20)

AnyRange * AnyRangeAnyRange

토토의 교차점을 계산합니다.

int8Range (5,15) * int8Range (10,20)[10,15)

AnyRange - AnyRangeAnyRange

토토의 차이를 계산합니다. 두 번째 토토는 차이가 단일 토토가되지 않는 방식으로 첫 번째 토토를 포함해서는 안됩니다.

int8Range (5,15) - int8Range (10,20)[5,10)


The left-of/right-of/adjacent operators always return false when an empty range is involved; 즉, 빈 토토는 다른 토토 전후에 간주되지 않습니다.

표 9.54토토 유형과 함께 사용할 수있는 기능을 표시합니다.

표 9.54. 범위 기능

기능

설명

예제

Lower(AnyRange) →Anylement

토토의 하한을 추출합니다 (NULL범위가 비어 있거나 하한이 무한한 경우).

하단 (NumRange (1.1,2.2))1.1

어퍼(AnyRange) →Anylement

토토의 상한을 추출합니다 (NULL범위가 비어 있거나 상한이 무한한 경우).

상단 (NumRange (1.1,2.2))2.2

ISEMPTY(AnyRange) →부울

토토가 비어 있습니까?

isempty (numrange (1.1,2.2))F

lower_inc(AnyRange) →부울

토토의 하한이 포함되어 있습니까?

lower_inc (NumRange (1.1,2.2))t

어퍼_inc(AnyRange) →부울

토토의 상한이 포함되어 있습니까?

어퍼_inc (NumRange (1.1,2.2))f

lower_inf(AnyRange) →부울

토토의 하한은 무한대입니까?

lower_inf ( '(,)':: Daterange)t

어퍼 _inf(AnyRange) →부울

토토의 상한은 무한대입니까?

어퍼 _inf ( '(,)':: daterange)t

Range_merge(AnyRange, AnyRange) →AnyRange

주어진 두 토토를 모두 포함하는 가장 작은 토토를 계산합니다.

Range_merge ( '[1,2)':: int4Range, '[3,4)':: int4Range)[1,4)


thelower_inc, 어퍼_inc, lower_inf어퍼 _inf함수는 빈 토토에 대해 모두 false를 반환합니다.

정정 제출

23596_23822이 양식문서 문제를보고하려면