Posts: 4175 Location: dos hermanas, sevilla
Monday, 04 August 2014, 12:59
Bueno, supongo que muchos lo conoceis, pero otros no... Se trata de el operador relacional LIKE.
Se usa para realizar busquedas por contenido, osea, de "porciones" de cadenas dentro de un campo.
Citar:
Imaginemos que tenemos registrados estos 2 libros, en una tabla llamada libros, con dos campos "titulo" y "autor:
"El Aleph", "Borges";
"Antologia poetica", "J.L. Borges";
Si queremos recuperar todos los libros del autor "Borges" y especificamos la siguiente condición:
select *from libros
where autor='Borges';
sólo aparecerá el primer registro, ya que la cadena "Borges" no es igual a la cadena "J.L. Borges".
Esto sucede porque el operador "=" (igual), también el operador "<>" (distinto) comparan cadenas de caracteres completas. Para comparar porciones de cadenas utilizamos los operadores "like" y "not like".
Entonces, podemos comparar trozos de cadenas de caracteres para realizar consultas. Para recuperar todos los registros cuyo autor contenga la cadena "Borges" debemos tipear:
select *from libros
where autor like "%Borges%";
El símbolo "%" (porcentaje) reemplaza cualquier cantidad de caracteres (incluyendo ningún caracter). Es un caracter comodín. ....
En este enlace lo explica muy bien:
Enlace Like
Este tipo de búsqueda por contenido, es muy útil cuando el usuario no sabe exactamente el campo completo, pero desea buscar registros que tengan ese contenido, y asi al leerlos ya da con el que buscaba.
Por ejemplo, el típico caso de:
- Buscar un registro por el nombre completo de una persona, pero que el usuario solo se acuerda del primer apellido. Con este tipo de busqueda, encuentra todos los nombres completo que contenga ese apellido.
- Buscar por el numero de telefono, pero solo nos acordamos de las 3 últimas cifras.
-etc.
Saludos