Postgres 数组包含来自另一个数组的任何内容吗?

iQ.*_*iQ. 2 postgresql

我希望执行一个查询,如果数组列类型至少包含另一个数组中的一个条目,则返回一行,例如:

Row1

col_a = {1,2}
Run Code Online (Sandbox Code Playgroud)

我想要一个查询col_a contains {3,1},它应该返回 Row1,因为 col_a 包含“1”。

示例中的值 {3,1} 将来自另一个子查询。我不确定这是否可能,并且我正在努力寻找例子。我发现的最接近的是@>运算符,但这要求所有条目都在 col_a 中,而不是任何匹配项?

JGH*_*JGH 7

您可以使用&&(重叠)运算符

select array[1,2,3,4] && array[3,9];
 ?column?
----------
 t
(1 row)
Run Code Online (Sandbox Code Playgroud)