Alternativa de IN para cadenas, REGEXP de MySQL

MySQL

MySQL

 

motivación

En una clausula where de una consulta de MySQL es de mucha utilidad el uso de IN, donde se indica la búsqueda en un conjunto de valores. El problema se da cuando el campo a buscar en lugar de ser un número es un string. Entonces debemos utilizar la opción REGEXP que buscará en un listado de cadenas que le indiquemos entre comillas.

ejemplo

SELECT name,account_id
FROM suitecrm.accounts
WHERE campo REGEXP "cadena1|cadena2|cadena3|cadenan"
ORDER by name ASC;

En mi caso he utilizado REGEXP buscando la coincidencia en un gran conjunto de cadenas y el rendimiento es más que aceptable.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *