范围操作符
范围操作符用于处理范围类型数据的运算(如 @>、&&)。范围操作符支持直接应用于查询表达式,快速筛选特定区间内的数据,常用于范围比较、查询限制及区间界定。
- 比较操作符<、>、<=和>=先比较下界,只有下界相等时才比较上界。
- <<、>>和-|-操作符当包含空范围时也会返回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)。
|