Uso de LIKE en la búsqueda sensible a mayúsculas y minúsculas

Raymond Peter 30 enero 2023
  1. Búsqueda insensible a mayúsculas y minúsculas usando LIKE en MySQL
  2. Búsqueda sensible a mayúsculas y minúsculas en MySQL
  3. Expresiones regulares en MySQL
Uso de LIKE en la búsqueda sensible a mayúsculas y minúsculas

Este artículo del tutorial le mostrará cómo usar el operador LIKE para buscar una columna. Le mostraremos cómo usar esto correctamente para incluir todos los resultados que cumplan con criterios específicos, ya sea que los valores estén en mayúsculas o minúsculas o no.

Búsqueda insensible a mayúsculas y minúsculas usando LIKE en MySQL

Al buscar una tabla, el operador LIKE siempre se usa después de WHERE al buscar una tabla.

Esto es especialmente útil cuando busca un término del que no está seguro, como un prefijo o un patrón de letras, o si desea incluir varias instancias que cumplan una condición específica.

Después de una instrucción SELECT, especificando en qué columna de una tabla desea buscar, agregue el operador LIKE seguido de los siguientes comodines:

  • El comodín % buscará valores que comiencen con una letra colocada después de la letra. Asimismo, buscará valores que terminen en letra si se antepone el signo % a la letra.
  • El comodín de subrayado (_) se utiliza para limitar la búsqueda a un valor después de utilizar el signo %.

Puede usar lo anterior de diferentes maneras para producir diferentes resultados. El siguiente ejemplo muestra cómo buscar un término usando ambos comodines.

 CREATE TABLE car_models (
  brand TEXT NOT NULL,
  model TEXT NOT NULL
);
 
INSERT INTO car_models VALUES ('Toyota', 'Camry');
INSERT INTO car_models VALUES ('toyota', 'Corolla');
INSERT INTO car_models VALUES ('toyota', 'corolla');
INSERT INTO car_models VALUES ('Ford', 'Prefect');
INSERT INTO car_models VALUES ('Ford', 'fiesta');
 
SELECT * FROM car_models WHERE car_models.model LIKE '%cor%'

Lo anterior devolverá solo las filas que contienen las letras cor en esa secuencia. Al comenzar y terminar con el signo %, la búsqueda se restringía a palabras con letras en ese orden.

| brand |  model  |
|-------|---------|
|toyota | Corolla |
|toyota | corolla |

La búsqueda ignoró las mayúsculas y buscó solo los valores que cumplían con los criterios. También puede ejecutar la siguiente declaración, que devuelve todos los modelos que contienen la letra c.

SELECT * FROM car_models WHERE car_models.model LIKE '%C%'

Producción :

| brand |  model  |
|-------|---------|
|Toyota |  Camry  |
|toyota | Corolla |
|toyota | corolla |
|Ford   | Prefect |

Los siguientes devolvieron todos los modelos con la letra c. Sin embargo, si desea ser más específico, puede colocar el signo % solo después de la letra c para devolver modelos que comienzan con c.

SELECT * FROM car_models WHERE car_models.model LIKE 'C%'

Producción :

| brand |  model  |
|-------|---------|
|Toyota |  Camry  |
|toyota | Corolla |
|toyota | corolla |

Búsqueda sensible a mayúsculas y minúsculas en MySQL

Si desea una búsqueda que distinga entre mayúsculas y minúsculas, puede agregar BINARIO delante del operador LIKE, y la búsqueda distinguirá entre mayúsculas y minúsculas.

SELECT * FROM car_models WHERE car_models.model LIKE BINARY 'c%'

Producción :

| brand |  model  |
|-------|---------|
|toyota | corolla |

Todos los modelos que comenzaban con una C mayúscula fueron excluidos de la búsqueda.

Expresiones regulares en MySQL

Vale la pena aprender a usar expresiones regulares para búsquedas más específicas. Estos incluyen más caracteres especiales, como el signo %, lo que le permite hacer más en una búsqueda.

Consiste en el signo *, que permite un escenario en el que el valor que le sigue puede aparecer varias veces o ninguno. El signo +, por otro lado, especifica que el siguiente carácter debe aparecer al menos una vez.

El REGEXP y REGEXP_LIKE() también se pueden usar en MySQL para marcar patrones específicos.