PostgreSQL:比较两个数组在第二个数组中是否存在一个值

问题描述

我试图连接两个表,每个表都有一个数组列。我的目的是比较第二个数组中是否存在第一个数组的任何值。

我正在写如下的where子句

any(table1.array1) = any(table2.array2)

但这对我不起作用。

解决方法

操作员&&应该可以解决问题。如果Array2中存在Array1中的任何元素,则将返回此值。 在此处参考PostgreSQL文档:Array Operators

select array[1,2,3] && array[2,4,5],array[1,3] && array[4,5,6],3] && array[1]
Output: true,false,true

如果要查看第二个数组中是否存在所有元素,则应使用@>或

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...