有關範圍型別的概述,請參閱第 8.17 節。
表格 9.56 顯示了可用於範圍型別的專用運算子。表格 9.57 顯示了可用於多重範圍型別的專用運算子。除了這些之外,表格 9.1 中顯示的常用比較運算子也適用於範圍和多重範圍型別。比較運算子首先按範圍下限排序,只有在下限相等時才比較上限。多重範圍運算子比較每個範圍,直到有一個範圍不相等。這通常不會產生有用的總體排序,但提供這些運算子是為了允許在範圍上建構唯一索引。
表格 9.56. 範圍運算子
運算子 描述 範例 |
---|
第一個範圍是否包含第二個範圍?
|
範圍是否包含元素?
|
第一個範圍是否被第二個範圍包含?
|
元素是否包含在範圍中?
|
範圍是否重疊,即,是否有任何共同的元素?
|
第一個範圍是否嚴格位於第二個範圍的左側?
|
第一個範圍是否嚴格位於第二個範圍的右側?
|
第一個範圍是否未延伸到第二個範圍的右側?
|
第一個範圍是否未延伸到第二個範圍的左側?
|
範圍是否相鄰?
|
計算範圍的聯集。範圍必須重疊或相鄰,以使聯集為單個範圍(但請參閱
|
計算範圍的交集。
|
計算範圍的差集。第二個範圍不能以差集不是單個範圍的方式包含在第一個範圍中。
|
表格 9.57. 多重範圍運算子
運算子 描述 範例 |
---|
第一個多重範圍是否包含第二個多重範圍?
|
多重範圍是否包含該範圍?
|
多重範圍是否包含該元素?
|
範圍是否包含該多重範圍?
|
第一個多重範圍是否被第二個多重範圍包含?
|
多重範圍是否被該範圍包含?
|
範圍是否被該多重範圍包含?
|
元素是否被該多重範圍包含?
|
多重範圍是否重疊,也就是說,是否有任何共同元素?
|
多重範圍是否與該範圍重疊?
|
範圍是否與該多重範圍重疊?
|
第一個多重範圍是否嚴格位於第二個多重範圍的左側?
|
多重範圍是否嚴格位於該範圍的左側?
|
範圍是否嚴格位於該多重範圍的左側?
|
第一個多重範圍是否嚴格位於第二個多重範圍的右側?
|
多重範圍是否嚴格位於該範圍的右側?
|
範圍是否嚴格位於該多重範圍的右側?
|
第一個多重範圍是否沒有延伸到第二個多重範圍的右側?
|
多重範圍是否沒有延伸到該範圍的右側?
|
範圍是否沒有延伸到該多重範圍的右側?
|
第一個多重範圍是否沒有延伸到第二個多重範圍的左側?
|
多重範圍是否沒有延伸到該範圍的左側?
|
範圍是否沒有延伸到該多重範圍的左側?
|
多重範圍是否相鄰?
|
多重範圍是否與該範圍相鄰?
|
範圍是否與該多重範圍相鄰?
|
計算多重範圍的聯集。多重範圍不需要重疊或相鄰。
|
計算多重範圍的交集。
|
計算多重範圍的差集。
|
當涉及空範圍或多重範圍時,左側/右側/相鄰運算子總是返回 false;也就是說,空範圍不被認為在任何其他範圍之前或之後。
在其他地方,空範圍和多重範圍被視為加法單位元:任何與空值聯集的結果都是自身。任何減去空值的結果也是自身。一個空的多重範圍與一個空的範圍具有完全相同的點。每個範圍都包含空範圍。每個多重範圍都包含任意數量的空範圍。
如果範圍的聯集和差集運算子產生的範圍需要包含兩個不相交的子範圍,由於這樣的範圍無法表示,因此這些運算子將會失敗。有單獨的運算子用於聯集和差集,它們接受多重範圍參數並傳回多重範圍,即使它們的參數不相交也不會失敗。因此,如果您需要對可能不相交的範圍進行聯集或差集運算,您可以先將範圍轉換為多重範圍,以避免錯誤。
表 9.58 顯示了可用於範圍類型的函數。表 9.59 顯示了可用於多重範圍類型的函數。
表 9.58. 範圍函數
表 9.59. 多重範圍函數
對於空的範圍或多重範圍,lower_inc
、upper_inc
、lower_inf
和 upper_inf
函數都會傳回 false。
如果您在文件中發現任何不正確、與特定功能的使用經驗不符或需要進一步澄清的地方,請使用此表單來報告文件問題。