
# 范围操作符
#### =
描述：等于
示例：
```
SELECT int4range(1,5) = '[1,4]'::int4range AS RESULT;
 result
--------
 t
(1 row)
```
#### \<\>
描述：不等于
示例：
```
SELECT numrange(1.1,2.2) <> numrange(1.1,2.3) AS RESULT;
 result
--------
 t
(1 row)
```
#### \<
描述：小于
示例：
```
SELECT int4range(1,10) < int4range(2,3) AS RESULT;
 result
--------
 t
(1 row)
```
#### \>
描述：大于
示例：
```
SELECT int4range(1,10) > int4range(1,5) AS RESULT;
 result
--------
 t
(1 row)
```
#### \<=
描述：小于或等于
示例：
```
SELECT numrange(1.1,2.2) <= numrange(1.1,2.2) AS RESULT;
 result
--------
 t
(1 row)
```
#### \>=
描述：大于或等于
示例：
```
SELECT numrange(1.1,2.2) >= numrange(1.1,2.0) AS RESULT;
 result
--------
 t
(1 row)
```
#### @\>
描述：包含范围、包含元素
示例：
```
SELECT int4range(2,4) @> int4range(2,3) AS RESULT;
 result
--------
 t
(1 row)
```
```
SELECT '[2011-01-01,2011-03-01)'::tsrange @> '2011-01-10'::timestamp AS RESULT;
 result
--------
 t
(1 row)
```
#### \<@
描述：范围包含于、元素包含于
示例：
```
SELECT int4range(2,4) <@ int4range(1,7) AS RESULT;
 result
--------
 t
(1 row)
```
```
SELECT 42 <@ int4range(1,7) AS RESULT;
 result
--------
 f
(1 row)
```
#### \&\&
描述：重叠（有共同点）
示例：
```
SELECT int8range(3,7) && int8range(4,12) AS RESULT;
 result
--------
 t
(1 row)
```
#### \<\<
描述：范围值是否比另一个范围值的最小值还小（没有交集）
示例：
```
SELECT int8range(1,10) << int8range(100,110) AS RESULT;
 result
--------
 t
(1 row)
```
#### \>\>
描述：范围值是否比另一个范围值的最大值还大（没有交集）
示例：
```
SELECT int8range(50,60) >> int8range(20,30) AS RESULT;
 result
--------
 t
(1 row)
```
#### \&\<
描述：范围值的最大值是否不超过另一个范围值的最大值。
示例：
```
SELECT int8range(1,20) &< int8range(18,20) AS RESULT;
 result
--------
 t
(1 row)
```
#### \&\>
描述：范围值的最小值是否不小于另一个范围值的最小值。
示例：
```
SELECT int8range(7,20) &> int8range(5,10) AS RESULT;
 result
--------
 t
(1 row)
```
#### -\|-
描述：相邻
示例：
```
SELECT numrange(1.1,2.2) -|- numrange(2.2,3.3) AS RESULT;
 result
--------
 t
(1 row)
```
#### +
描述：并集
示例：
```
SELECT numrange(5,15) + numrange(10,20) AS RESULT;
 result 
--------
 [5,20)
(1 row)
```
#### \*
描述：交集
示例：
```
SELECT int8range(5,15) * int8range(10,20) AS RESULT;
 result  
---------
 [10,15)
(1 row)
```
#### -
描述：差集
示例：
```
SELECT int8range(5,15) - int8range(10,20) AS RESULT;
 result 
--------
 [5,10)
(1 row
```
![](https://support.huaweicloud.com/devg-fabric/public_sys-resources/note_3.0-zh-cn.png)
- 简单的比较操作符\<，\>，\<=和\>=先比较下界，只有下界相等时才比较上界。
- \<\<、\>\>和-\|-操作符当包含空范围时也会返回false；也就是，不认为空范围在其他范围之前或之后。
- 并集和差集操作符的执行结果无法包含两个不相交的子范围。
 
