我正在尝试使用PostgreSQL检查某个列表中的任何值是否在数据库中存储的任何数组中。
类似的东西:
SELECT * FROM table_name WHERE ('value1', 'value2', 'value3') = ANY(field_name);
field_name
是VARCHAR(100)[]
这有可能吗?
答案 0 :(得分:2)
由于field_name
是一个数组,因此可以使用overlaps operator &&
:
SELECT *
FROM table_name
WHERE field_name && array['value1', 'value2', 'value3']::varchar[]