Arrays 如何在SQL中检查integer array类型的单元格是否包含某个值

Arrays 如何在SQL中检查integer array类型的单元格是否包含某个值,arrays,postgresql,Arrays,Postgresql,我正在使用postgresql。如何检查单元格(整型[])是否包含某个值? 有一个单元格(类型为整数数组的行)是类型为整数[]的行。 有一个单元格包含值{2,3,4} 现在我想要这样的东西:如果有一个单元格包含值2(不仅是2,而且是2),那么返回某个值。在上面提到的给定单元格中就是这种情况 我试过这个: SELECT id FROM table_name WHERE row_of_type_integer_array = 2; 然而,这是行不通的。我也试过: SELECT id FROM ta

我正在使用postgresql。如何检查单元格(整型[])是否包含某个值? 有一个单元格(类型为整数数组的行)是类型为整数[]的行。 有一个单元格包含值{2,3,4}

现在我想要这样的东西:如果有一个单元格包含值2(不仅是2,而且是2),那么返回某个值。在上面提到的给定单元格中就是这种情况

我试过这个:

SELECT id FROM table_name WHERE row_of_type_integer_array = 2;
然而,这是行不通的。我也试过:

SELECT id FROM table_name WHERE 2 IN row_of_type_integer_array;

但这也不起作用。我还能走哪条路呢?

有很多方法。这里有一个:

SELECT id FROM table WHERE 2 = ANY(row_of_type_integer_array)