Postgresql - 如何检查数组是否具有共同元素

Yag*_*ias 5 arrays postgresql

我有两列数组类型,我想检查它们是否至少有一个共同元素。我该怎么做?

例如:

ARRAY[1,4,3] | ARRAY[2,1]
Run Code Online (Sandbox Code Playgroud)

两个数组都包含 number 1,因此它应该返回该行。

Yag*_*ias 8

使用&&运算符

正如postgresql 官方文档中所述,您可以使用以下命令来检查数组是否有一个交集值:

SELECT * FROM mytable m WHERE m.array1 && m.array2
Run Code Online (Sandbox Code Playgroud)

当然,m.array1m.array2都是数组类型