范围操作符
范围操作符用于处理范围类型数据的运算(如 @>、&&)。范围操作符支持直接应用于查询表达式,快速筛选特定区间内的数据,常用于范围比较、查询限制及区间界定。
- 比较操作符<、>、<=和>=先比较下界,只有下界相等时才比较上界。
- <<、>>和-|-操作符当包含空范围时也会返回false,即不认为空范围在其他范围之前或之后。
- 并集和差集操作符的执行结果无法包含两个不相交的子范围。
|
操作符 |
描述 |
用法示例 |
||||
|---|---|---|---|---|---|---|
|
= |
等于 |
比较两个范围是否相等,返回t,表示相等。
|
||||
|
<> |
不等于 |
比较两个范围是否不相等,返回t,表示不相等。
|
||||
|
< |
小于 |
比较(1,10)是否小于(2,3),先比较下界,且只有在下界相等时才比较上界。
|
||||
|
> |
大于 |
比较(1,10)是否大于(1,5),先比较下界,且只有在下界相等时才比较上界。
|
||||
|
<= |
小于或等于 |
比较(1.1,2.2) 是否小于或等于(1.1,2.2)。
|
||||
|
>= |
大于或等于 |
比较(1.1,2.2) 是否大于等于(1.1,2.0),先比较下界,且只有在下界相等时才比较上界。
|
||||
|
@> |
包含范围、包含元素 |
(2,4)是否包含(2,3),返回t,表示包含。
[2011-01-01,2011-03-01)是否包含2011-01-10,返回t,表示包含。
|
||||
|
<@ |
范围包含于、元素包含于 |
(2,4)是否包含于(1,7),返回t,表示包含。
元素42是否包含于(1,7),返回f,表示不包含。
|
||||
|
&& |
重叠(有共同点) |
判断(3,7)和(4,12)的范围是否重叠,返回t,表示存在重叠部分。
|
||||
|
<< |
范围值是否比另一个范围值的最小值还小(没有交集) |
判断左边的范围值是否比右边范围值的最小值还小,且两者没有交集。
|
||||
|
>> |
范围值是否比另一个范围值的最大值还大(没有交集) |
判断左边的范围值是否比右边范围值的最大值还大,且两者没有交集。
|
||||
|
&< |
不超过右边范围上界。 |
判断左边的范围值是否不超过右边范围值的上界。
|
||||
|
&> |
不超过左边范围上界。 |
判断右边的范围值是否不超过左边范围值的上界。
|
||||
|
-|- |
相邻 |
判断范围是否相邻,返回t,表示相邻。
|
||||
|
+ |
并集 |
计算两个区间的并集,结果返回新的区间[5,20)。
|
||||
|
* |
交集 |
计算两个区间的交集,结果返回新的区间[10,15)。
|
||||
|
- |
差集 |
计算两个区间的差集,结果返回新的区间 [5,10)。
|