PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL-Platzhalter LIKE für eine Liste von Wörtern

PostgreSQL unterstützt auch vollständige reguläre POSIX-Ausdrücke:

select * from table where value ~* 'foo|bar|baz';

Der ~* ist für eine Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung, ~ unterscheidet zwischen Groß- und Kleinschreibung.

Eine andere Option ist die Verwendung von ANY:

select * from table where value  like any (array['%foo%', '%bar%', '%baz%']);
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);

Sie können ANY mit jedem Operator verwenden, der einen booleschen Wert liefert. Ich vermute, dass die Regex-Optionen schneller wären, aber ANY ist ein nützliches Werkzeug, das Sie in Ihrer Toolbox haben sollten.