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

Query SQL in modo che corrisponda a una di più stringhe

Per una soluzione adeguata, normalizza la progettazione del database oppure, salvo ciò, considera la ricerca full-text .

Per una rapida soluzione al problema in questione, utilizzare un corrispondenza espressione regolare (~ ) o tre semplici LIKE espressioni:

SELECT *
FROM   subscriberfields 
WHERE  name ~ '(Khairpur|Islamabad|Karachi)';

Oppure:

...
WHERE (name LIKE '%Khairpur%'
    OR name LIKE '%Islamabad%'
    OR name LIKE '%Karachi%')

Oppure usa ~* o LIKE per la corrispondenza senza distinzione tra maiuscole e minuscole.

Poiché un'altra risposta l'ha suggerito:mai usa SIMILAR TO :