すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:範囲関数と演算子

最終更新日:Oct 30, 2024

AnalyticDB for PostgreSQLは、PostgreSQLの範囲関数および演算子と互換性があります。 このトピックでは、AnalyticDB for PostgreSQLでサポートされている範囲関数と演算子について説明し、範囲関数と演算子の使用方法の例を示します。

PostgreSQLの範囲関数と演算子の詳細については、「範囲関数と演算子」をご参照ください。

範囲演算子

概要

@>&& などの範囲演算子は、範囲式に対する演算を実行し、対応する結果を返すために使用されます。

使用法

範囲演算子を使用して、範囲を比較、制限、および定義できます。

演算子

演算子

説明

サンプル結果

=

2つの範囲が等しいかどうかをチェックします。

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

t

<>

2つの範囲が等しくないかどうかをチェックします。

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

&&

2つの範囲が重複している (ポイントが共通している) かどうかを確認します。

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

-|-

2つの範囲が隣接しているかどうかをチェックします。

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

t

+

2つの範囲の和集合を返します。

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

[5,20)

*

2つの範囲の交点を返します。

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)

ブール値

範囲が空かどうかをチェックします。

isempty(numrange(1.1、2.2))

false

lower_inc (anyrange)

ブール値

範囲の下限が包括的であるかどうかをチェックします。

lower_inc(numrange(1.1,2.2))

true

upper_inc (anyrange)

ブール値

範囲の上限が含まれているかどうかをチェックします。

upper_inc(numrange(1.1,2.2))

false

lower_inf (anyrange)

ブール値

範囲の下限が無限であるかどうかをチェックします。

lower_inf('(,)'::daterange)

true

upper_inf (anyrange)

ブール値

範囲の上限が無限大であるかどうかをチェックします。

upper_inf('(,)'::daterange)

true

range_merge (anyrange, anyrange)

anyrange

2つの範囲をマージした後の最小範囲を返します。

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

[1,4)