全部產品
Search
文件中心

AnalyticDB:範圍函數和操作符

更新時間:Oct 30, 2024

AnalyticDB for PostgreSQL相容PostgreSQL中的範圍函數和操作符。本文簡單列舉AnalyticDB for PostgreSQL相容的範圍函數和操作符及用法樣本。

PostgreSQL中範圍函數和操作符的詳細使用方法,請參見PostgreSQL官方文檔:範圍函數和操作符

範圍操作符

簡介

範圍操作符用於表示範圍,例如@>&&。範圍操作符直接應用於運算式,可以直接擷取範圍內的資料元素。

用途

範圍操作符主要用於範圍的比較、限制、定義等。

詳情和樣本

操作符

描述

使用樣本

樣本結果

=

等於。

int4range(1,5) = '[1,4]'::int4range

t

<>

不等於。

numrange(1.1,2.2) <> numrange(1.1,2.3)

t

<

小於。

int4range(1,10) < int4range(2,3)

t

>

大於。

int4range(1,10) > int4range(1,5)

t

<=

小於或等於。

numrange(1.1,2.2) <= numrange(1.1,2.2)

t

>=

大於或等於。

numrange(1.1,2.2) >= numrange(1.1,2.0)

t

@>

包含範圍。

int4range(2,4) @> int4range(2,3)

t

@>

包含元素。

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

t

<@

範圍被包含。

int4range(2,4) <@ int4range(1,7)

t

<@

元素被包含。

42 <@ int4range(1,7)

f

&&

重疊(有公用點)。

int8range(3,7) && int8range(4,12)

t

<<

左邊的範圍嚴格小於右邊的範圍。

int8range(1,10) << int8range(100,110)

t

>>

右邊的範圍嚴格小於左邊的範圍。

int8range(50,60) >> int8range(20,30)

t

&<

不超過右邊範圍上界。

int8range(1,20) &< int8range(18,20)

t

&>

不超過左邊範圍上界。

int8range(7,20) &> int8range(5,10)

t

-|-

相鄰。

numrange(1.1,2.2) -|- numrange(2.2,3.3)

t

+

並。

numrange(5,15) + numrange(10,20)

[5,20)

*

交。

int8range(5,15) * int8range(10,20)

[10,15)

-

差。

int8range(5,15) - int8range(10,20)

[5,10)

範圍函數

簡介

範圍函數是可以用來定義特定範圍的函數。通過範圍函數可以來限制範圍、判斷某個值是否在範圍限制內。

用途

範圍函數主要用來定義範圍的上下限,以達到限制範圍的目的。

詳情和樣本

函數

傳回型別

描述

使用樣本

樣本結果

lower(anyrange)

範圍的元素類型。

範圍的下限。

lower(numrange(1.1,2.2))

1.1

upper(anyrange

範圍的元素類型。

範圍的上限。

upper(numrange(1.1,2.2))

2.2

isempty(anyrange

boolean

範圍是否為空白。

isempty(numrange(1.1,2.2))

false

lower_inc(anyrange

boolean

下限是否被包含在內。

lower_inc(numrange(1.1,2.2))

true

upper_inc(anyrange

boolean

上限是否被包含在內。

upper_inc(numrange(1.1,2.2))

false

lower_inf(anyrange)

boolean

下限是否無限。

lower_inf('(,)'::daterange)

true

upper_inf(anyrange)

boolean

上限是否無限。

upper_inf('(,)'::daterange)

true

range_merge(anyrange,anyrange)

anyrange

包含兩個給定範圍的最小範圍。

range_merge('[1,2)'::int4range, '[3,4)'::int4range)

[1,4)