让我们看一下可以用来过滤结果的不同比较运算符。
相等运算符(_eq,_neq)
的_eq(等于)或_neq(不等于)运算符是与任何相容的Postgres键入以外 json或jsonB(如Integer,Float,Double,Text,Boolean, Date/ Time/ Timestamp等)。
基于列表的搜索运算符(_in,_nin)
将_in(在列表中)和_nin(未在列表)运算符用于字段值的比较值的列表。它们是相容的Postgres键入以外 json或jsonB(如Integer,Float,Double,Text,Boolean, Date/ Time/ Timestamp等)。
文本搜索或模式匹配运算符(_like,_like等)
_like,_nlike,_ilike,_nilike,_similar,_nsimilar运算符用于对串/文本字段模式匹配。
这些运算符的行为与SQL运算符完全相同
_like是区分大小写的。_ilike不区分大小写的搜索。_similar区分大小写
JSONB运算符(_contains,_has_key等)
_contains,_contained_in,_has_key,_has_any和_has_key_所有运算符都用于基于JSONB列进行筛选。
PostGIS空间关系运算符(_st_contains、_st_crosss等)
_st_crosss,_st_equals,_st_intersects,_st_overlaps,_st_touch,_st_within和_st_d_within的运算符用于基于类似于列的几何体进行筛选。
_st_d_within和st_intersects也可用于geography列。
这里不太懂 应该是几何数组的筛选吧
筛选或检查空值(_is_null)
可以使用is_null运算符来检查空值。
筛选与条件不符的值(_not)
_not运算符可用于获取某些条件不为真的结果,反转某个条件过滤。
在同一查询中使用多个筛选器(_and,_or)
可以在同一个where参数中对多个参数进行分组,方法是使用_and或_or运算符根据多个条件筛选结果。
_add 写法样例