sql >> Base de Datos >  >> RDS >> PostgreSQL

Consulta SQL para hacer coincidir una de varias cadenas

Para una solución adecuada, normalice el diseño de su base de datos o, salvo eso, considere búsqueda de texto completo .

Para una solución rápida al problema en cuestión, use un coincidencia de expresión regular (~ ) o tres simples LIKE expresiones:

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

O:

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

O usa ~* o ILIKE para coincidencias que no distinguen entre mayúsculas y minúsculas.

Ya que otra respuesta lo sugirió:nunca usar SIMILAR TO :