请参见 第 8.17 节 以了解范围类型的概述。
表 9.56 显示了可用于范围类型的专用运算符。 表 9.57 显示了可用于多范围类型的专用运算符。 除了这些运算符之外,表 9.1 中显示的通常比较运算符也可用于范围和多范围类型。 比较运算符首先按范围下限排序,只有在下限相等时才比较上限。 多范围运算符比较每个范围,直到一个不相等。 这通常不会导致有用的整体排序,但提供了这些运算符以允许在范围内构建唯一索引。
表 9.56. 范围运算符
运算符 描述 示例 |
---|
第一个范围是否包含第二个范围?
|
该范围是否包含该元素?
|
第一个范围是否包含在第二个范围内?
|
该元素是否包含在该范围内?
|
这些范围是否重叠,即是否有任何共同的元素?
|
第一个范围是否严格位于第二个范围的左侧?
|
第一个范围是否严格位于第二个范围的右侧?
|
第一个范围是否不延伸到第二个范围的右侧?
|
第一个范围是否不延伸到第二个范围的左侧?
|
这些范围是否相邻?
|
计算这些范围的并集。 这些范围必须重叠或相邻,因此并集是一个单一范围(但请参见
|
计算这些范围的交集。
|
计算这些范围的差集。 第二个范围不能包含在第一个范围内,以至于差集不会是单一范围。
|
表 9.57. 多范围运算符
运算符 描述 示例 |
---|
第一个多范围是否包含第二个多范围?
|
该多范围是否包含该范围?
|
该多范围是否包含该元素?
|
该范围是否包含该多范围?
|
第一个多范围是否包含在第二个多范围内?
|
该多范围是否包含在该范围内?
|
该范围是否包含在该多范围内?
|
该元素是否包含在该多范围内?
|
这些多范围是否重叠,即是否有任何共同的元素?
|
该多范围是否与该范围重叠?
|
该范围是否与该多范围重叠?
|
第一个多范围是否严格位于第二个多范围的左侧?
|
该多范围是否严格位于该范围的左侧?
|
该范围是否严格位于该多范围的左侧?
|
第一个多范围是否严格位于第二个多范围的右侧?
|
该多范围是否严格位于该范围的右侧?
|
该范围是否严格位于该多范围的右侧?
|
第一个多范围是否不延伸到第二个多范围的右侧?
|
多范围是否不扩展到范围的右侧?
|
范围是否不扩展到多范围的右侧?
|
第一个多范围是否不扩展到第二个多范围的左侧?
|
多范围是否不扩展到范围的左侧?
|
范围是否不扩展到多范围的左侧?
|
多范围是否相邻?
|
多范围是否与范围相邻?
|
范围是否与多范围相邻?
|
计算多范围的并集。多范围不需要重叠或相邻。
|
计算多范围的交集。
|
计算多范围的差集。
|
当涉及空范围或多范围时,左侧/右侧/相邻运算符始终返回假;也就是说,空范围不认为在任何其他范围之前或之后。
在其他地方,空范围和多范围被视为加法单位:任何与空值并集的结果都是自身。任何减去空值的结果都是自身。空多范围与空范围具有完全相同的点。每个范围都包含空范围。每个多范围包含任意数量的空范围。
如果生成的范围需要包含两个不相交的子范围,则范围并集和差集运算符将失败,因为这种范围无法表示。有单独的运算符用于并集和差集,它们接受多范围参数并返回多范围,即使它们的论点不相交也不会失败。因此,如果您需要对可能不相交的范围进行并集或差集操作,可以通过首先将范围转换为多范围来避免错误。
表 9.58 显示了可用于范围类型的函数。 表 9.59 显示了可用于多范围类型的函数。
表 9.58. 范围函数
表 9.59. 多范围函数
lower_inc
、upper_inc
、lower_inf
和 upper_inf
函数对空范围或多范围都返回假。
如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表格 报告文档问题。