PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Carattere jolly di PostgreSQL LIKE per qualsiasi elenco di parole

PostgreSQL supporta anche le espressioni regolari POSIX complete:

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

Il ~* è per una corrispondenza senza distinzione tra maiuscole e minuscole, ~ fa distinzione tra maiuscole e minuscole.

Un'altra opzione è usare QUALSIASI:

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

Puoi usare ANY con qualsiasi operatore che produca un valore booleano. Sospetto che le opzioni regex sarebbero più veloci, ma QUALSIASI è uno strumento utile da avere nella tua cassetta degli attrezzi.