小编典典

PostgreSQL 通配符 LIKE 用于任何单词列表

all

我有一个大约 25 个单词的简单列表。我在 PostgreSQL 中有一个 varchar 字段,假设列表是['foo', 'bar', 'baz'].
我想在我的表中找到任何包含这些单词的行。这会起作用,但我想要更优雅的东西。

select *
from table
where (lower(value) like '%foo%' or lower(value) like '%bar%' or lower(value) like '%baz%')

阅读 182

收藏
2022-06-23

共1个答案

小编典典

您可以使用SIMILAR TO支持交替的 Postgres 运算符,即

select * from table where lower(value) similar to '%(foo|bar|baz)%';
2022-06-23