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

SQL-Abfrage, um eine von mehreren Zeichenfolgen abzugleichen

Für eine geeignete Lösung können Sie entweder Ihr Datenbankdesign normalisieren oder, falls dies nicht der Fall ist, ziehen Sie die Volltextsuche in Erwägung .

Verwenden Sie für eine schnelle Lösung des vorliegenden Problems einen Übereinstimmung mit regulären Ausdrücken (~ ) oder drei einfache LIKE Ausdrücke:

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

Oder:

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

Oder verwenden Sie ~* oder ILIKE für den Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung.

Da eine andere Antwort darauf hinwies:nie Verwenden Sie SIMILAR TO :