更新时间:2025-05-29 GMT+08:00
范围操作符
=
描述:等于。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int4range(1,5) = '[1,4]'::int4range AS RESULT; result -------- t (1 row) |
<>
描述:不等于。
示例:
1 2 3 4 5 |
gaussdb=# SELECT numrange(1.1,2.2) <> numrange(1.1,2.3) AS RESULT; result -------- t (1 row) |
<
描述:小于。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int4range(1,10) < int4range(2,3) AS RESULT; result -------- t (1 row) |
>
描述:大于。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int4range(1,10) > int4range(1,5) AS RESULT; result -------- t (1 row) |
<=
描述:小于或等于。
示例:
1 2 3 4 5 |
gaussdb=# SELECT numrange(1.1,2.2) <= numrange(1.1,2.2) AS RESULT; result -------- t (1 row) |
>=
描述:大于或等于
示例:
1 2 3 4 5 |
gaussdb=# SELECT numrange(1.1,2.2) >= numrange(1.1,2.0) AS RESULT; result -------- t (1 row) |
@>
- 描述:包含元素。
1 2 3 4 5
gaussdb=# SELECT '[2011-01-01,2011-03-01)'::tsrange @> '2011-01-10'::timestamp AS RESULT; result -------- t (1 row)
<@
&&
描述:重叠(有共同点)。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int8range(3,7) && int8range(4,12) AS RESULT; result -------- t (1 row) |
<<
描述:范围值是否比另一个范围值的最小值还小(没有交集)。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int8range(1,10) << int8range(100,110) AS RESULT; result -------- t (1 row) |
>>
描述:范围值是否比另一个范围值的最大值还大(没有交集)。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int8range(50,60) >> int8range(20,30) AS RESULT; result -------- t (1 row) |
&<
描述:范围值的最大值是否不超过另一个范围值的最大值。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int8range(1,20) &< int8range(18,20) AS RESULT; result -------- t (1 row) |
&>
描述:范围值的最小值是否不小于另一个范围值的最小值。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int8range(7,20) &> int8range(5,10) AS RESULT; result -------- t (1 row) |
-|-
描述:相邻。
示例:
1 2 3 4 5 |
gaussdb=# SELECT numrange(1.1,2.2) -|- numrange(2.2,3.3) AS RESULT; result -------- t (1 row) |
+
描述:并集。
示例:
1 2 3 4 5 |
gaussdb=# SELECT numrange(5,15) + numrange(10,20) AS RESULT; result -------- [5,20) (1 row) |
*
描述:交集。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int8range(5,15) * int8range(10,20) AS RESULT; result --------- [10,15) (1 row) |
-
描述:差集。
示例:
1 2 3 4 5 |
gaussdb=# SELECT int8range(5,15) - int8range(10,20) AS RESULT; result -------- [5,10) (1 row) |
简单的比较操作符<,>,<=和>=先比较下界,只有下界相等时才比较上界。
<<、>>和-|-操作符当包含空范围时也会返回false;即不认为空范围在其他范围之前或之后。
并集和差集操作符的执行结果无法包含两个不相交的子范围。
父主题: 范围函数和操作符