Range Operators
Range operators are used to perform operations on range-type data (such as @> and &&). Range operators can be directly applied to query expressions to quickly filter data within a specific range. They are commonly used for range comparison, query restriction, and range definition.
- The comparison operators <, >, <=, and >= compare the lower bounds first, and only if those are equal, compare the upper bounds.
- The <<, >>, and -|- operators always return false when an empty range is involved. That is, an empty range is not considered to be either before or after any other range.
- The union and difference operators will fail if the resulting range would need to contain two disjoint sub-ranges.
| Operator | Description | Example | ||||
|---|---|---|---|---|---|---|
| = | Equal | Check whether two ranges are equal. If t is returned, the two ranges are equal.
| ||||
| <> | Not equal | Check whether two ranges are not equal. If t is returned, the two ranges are not equal.
| ||||
| < | Less than | Check whether (1,10) is less than (2,3). Compare the lower bounds first, and compare the upper bounds only when the lower bounds are equal.
| ||||
| > | Greater than | Check whether (1,10) is greater than (1,5). Compare the lower bounds first, and compare the upper bounds only when the lower bounds are equal.
| ||||
| <= | Less than or equal | Check whether (1.1,2.2) is less than or equal to (1.1,2.2).
| ||||
| >= | Greater than or equal | Check whether (1.1,2.2) is greater than or equal to (1.1,2.0). Compare the lower bounds first, and compare the upper bounds only when the lower bounds are equal.
| ||||
| @> | Contains the range or element | Check whether (2,4) contains (2,3). The result is t, indicating that it is contained.
Check whether [2011-01-01,2011-03-01) contains 2011-01-10. If t is returned, it is contained.
| ||||
| <@ | The range or element is contained by | Check whether (2,4) is contained by (1,7). If t is returned, it is contained.
Check whether the element 42 is contained by (1,7). If f is returned, it is not contained.
| ||||
| && | Overlap (have points in common) | Check whether the ranges of (3,7) and (4,12) overlap. If t is returned, they overlap.
| ||||
| << | Strictly left of | Check whether the left range value is strictly less than the minimum value of the right range value and whether the two ranges do not overlap.
| ||||
| >> | Strictly right of | Check whether the left range value is strictly greater than the maximum value of the right range value and whether the two ranges do not overlap.
| ||||
| &< | Does not extend to the right of | Check whether the left range value does not exceed the upper bound of the right range value.
| ||||
| &> | Does not extend to the left of | Check whether the right range value does not exceed the upper bound of the left range value.
| ||||
| -|- | Is adjacent to | Check whether the ranges are adjacent. If yes, t is returned.
| ||||
| + | Union | Calculate the union of two ranges. The result is a new range [5, 20).
| ||||
| * | Intersection | Calculate the intersection of two ranges. The result is a new range [10, 15).
| ||||
| - | Difference | Calculate the difference between two ranges. The result is a new range [5, 10).
|
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot