PostgreSQL 的@>与<@运算符
用于执行范围包含的比较操作。具体来说,它用于检查一个范围是否包含另一个范围。这个运算符的使用通常涉及到范围数据类型,例如 int4range(整数范围)或 tsrange(时间戳范围)等。
<@
和 @>
这两个运算符之间的区别:
-
<@
运算符:这个运算符用于检查一个范围是否包含某个元素。- 语法:
range1 <@ element
- 结果:如果
element
包含在range1
中,则返回true
;否则返回false
。
示例:
- 如果
int4range(2, 6)
包含整数4
,则表达式int4range(2, 6) <@ 4
返回true
。
- 语法:
-
@>
运算符:这个运算符用于检查一个范围是否被另一个范围包含。- 语法:
range1 @> range2
- 结果:如果
range1
包含了range2
,则返回true
;否则返回false
。
示例:
- 如果
int4range(2, 6)
包含范围int4range(3, 5)
,则表达式int4range(2, 6) @> int4range(3, 5)
返回true
。
- 语法:
总之,<@
和 @>
运算符用于不同类型的比较:
<@
用于元素与范围的比较,检查一个元素是否在范围内。@>
用于范围与范围的比较,检查一个范围是否包含另一个范围。
它们之间的区别是比较的对象不同,因此在使用时要根据具体的需求选择正确的运算符。