如何检查数组中的任何字符串是否包含其他数组中的任何其他字符串(子字符串)?(PostgreSQL)



>我有 2 个字符串数组,我想比较第一个数组的任何字符串是否包含来自另一个数组的 SUBstring,这些字符串存储这些 SUBstring。

换句话说:我不想完全比较这些数组及其字符串,我需要准确找到一个数组中的字符串是否包含来自另一个数组的 SUBstring 。

如果两个数组不是太大,则可以使用以下方法:

SELECT * FROM
(SELECT unnest('{apple pie,sugar,brown sugar}'::varchar[]) a1) t1,
(SELECT unnest('{pie,sugar}'::varchar[]) a2) t2
where t1.a1 like ('%' || t2.a2 || '%')

否则我建议你使用ts_vectors和全文搜索运算符:https://www.postgresql.org/docs/current/textsearch.html

相关内容

最新更新