Operador like y not like en MySql

El operador like busca el string que le ordenemos en un tipo de campo string, no es necesario que coincida exactamente con todo el contenido de la cadena como es el caso del operador relacional “=” el cual requiere forzosamente que coincida en su totalidad la cadena, en cuanto a not like básicamente regresa los registros cuyo criterio no coincida, viene a ser como “<>”, podemos implementar dicho operador con varios criterios que les mostrare a continuación.

Comodín porcentaje “%”

Este comodín reemplaza de cero a N caracteres de una cadena de caracteres, algunos ejemplos de cadenas válidas para el criterio %sql% serian:

Sql

Mysql

Tutorial de mysql

Base de datos sql server

Como ves, estas cuatro cadenas o strings son válidas porque el nuestro criterio dice: para que la búsqueda sea exitosa, antes de sql puede estar cualquier cantidad de caracteres, si no hay siquiera un carácter, no importa de todos modos es válido, lo mismo pasa después de sql si hay o no hay cualquier cantidad de caracteres, aun así es válida la búsqueda.

Ejemplo:

SELECT * FROM pelicula WHERE titulo like ‘%sangre%’

SELECT * FROM libro WHERE titulo like ‘fundamentos%’

SELECT * FROM libro WHERE titulo like ‘fundamentos de%en php’

La primer consulta mostrara todos los títulos de las películas que lleven la palabra sangre, en la siguiente consulta mostrara todos los libros que lleven como título al inicio la palabra fundamentos seguida de ningún carácter o cualquier cantidad de caracteres, en la última consulta el titulo debe comenzar con fundamentos y en seguida puede ir lo que sea, incluso nada, pero al final debe de terminar en php, por ejemplo fundamentos de programación en php.

Ejemplo con not like

SELECT titulo FROM películas WHERE descripción not like ‘%sexo%’

Esta consulta devolverá un listado con los títulos de películas que no traten de sexo en su descripción.

Comodín guion bajo “_”

Su función consiste en sustituir únicamente un carácter, por ejemplo si estás buscando el título de una película que no sabes si se llama hermano de sangre o hermanos de sangre, apoyándote del carácter comodín “_” sustituyes la “s”, de la siguiente manera.

SELECT * FROM película WHERE titulo like ‘hermano_ de sangre’

Un último dato importante, en ocasiones será necesario buscar más de algún guion bajo “_” o más de algún “*”, al tener la función de comodines entraremos en problemas, para eso debemos anteponer el carácter “\” el cual toma como literal los comodines.

SELECT * FROM libro WHERE titulo like ‘la importancia del \_ para%’

Buscará el titulo que comience con la importancia del y que siga con _ para y que finalice con cualquier cosa.

 

Leave a Reply

Your email address will not be published. Required fields are marked *