El Operador LIKE De SQL


Goto page 1, 2  Next

Subject: El Operador LIKE De SQL
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

Subject: Re: El Operador LIKE De SQL
Excelente señor JSBSAN quiere decir que puedo buscar un nombre de diferentes formas, es bueno a la hora de crear una consulta general de lo que se busca y sera que también servirá para buscar entre minúsculas y mayúsculas? pienso que si.

Last edited by jousseph on Tuesday, 05 August 2014, 20:53; edited 1 time in total
Subject: Re: El Operador LIKE De SQL
jousseph:

Citar:
y sera que también servirá para buscar entre minúsculas y mayúsculas?

Para eso le tienes que añadir el operador upper, de esta forma:

Select * from Profesores where upper(nombre) like upper('%perico%')


Esta consulta devuelve todos los registros de la tabla "Profesores", cuyo nombre contenga "perico", ya sea mayusculas o minusculas o combinado ("PERICO","perico","PeriCo","PERico","Juan Perico","Perico100", etc)

Enlace donde encontre la información y el ejemplo: Enlace Foro de Delphi

Citar:
quiero comentarle sobre una duda que tengo referente a una consulta sql de tres tablas relacionas de muchos muchos

Mejor abre otro hilo, con la duda y alli te contesto (o lo intento ). Es para no mezclar temas que no tienen nada que ver.

Subject: Re: El Operador LIKE De SQL
Señor JSBSAN

Citar:
Mejor abre otro hilo, con la duda y alli te contesto (o lo intento ). Es para no mezclar temas que no tienen nada que ver.


Inténtelo usted si puede por favor es que no he podido ni borrar la publicación anterior que tiene símbolos "--------" allá arriba si la vio?, jajajajaja, por lo que mi falta de manejar los post me tiene el cerebro fundido, le agradezco su atención, gracias.

Subject: Re: El Operador LIKE De SQL
jousseph:

Lo he puesto en este hilo:
http://foro.gambas-es.org/viewtopic.php?f=3&t=4018, que te manda a un post que he hecho en mi blog sobre el tema.

Espero que te aclare, si no es asi, en el hilo que he creado, lo comentas.

Saludos

Subject: Re: El Operador LIKE De SQL
Yo utilizo mucho el operador ILIKE que no distingue entre mayúsculas y minúsculas, lo utilizo en postgresql no se si es SQL estandar
o una función propia de postgresql. La sintaxis es la misma que LIKE.

Profile PM  
Subject: Re: El Operador LIKE De SQL
Hola

Estaba probando LIKE y el operador AND.

SELECT * FROM entradas WHERE Pais LIKE "ESPAÑA" AND Sexo LIKE "F" AND Nombre LIKE "%Maria%" AND Fnacimiento LIKE "%197%"


Lo cierto es que queda una linea enorme. Y esto luego en los formularios tiene que ser un poco complicado para realizar este tipo de consultas, ¿ No ?.
¿ Se crea un formulario por cada tipo de consulta concreta ?.

Saludos

Subject: Re: El Operador LIKE De SQL
Shell:

Pues no has visto la que ha puesto Shordi en este hilo Enlace:


select `p`.`apellidos` AS `Apellidos`,`p`.`nombre` AS `Nombre`,`p`.`dni` AS `D.N.I.`,`p`.`sexo` AS `sexo`,`p`.`f_nacimiento` AS `F.Nacimiento`,`p`.`domicilio` AS `Domicilio`,`p`.`codpost` AS `Cod.Post.`,`p`.`localidad` AS `Localidad`,`p`.`provincia` AS `Provincia`,`p`.`movil` AS `Móvil`,`p`.`fijo` AS `Fijo`,`p`.`e_mail` AS `E-Mail`,`p`.`sede` AS `sede`,`p`.`sector` AS `sector`,`p`.`fafiliacion` AS `F.Afiliación`,`p`.`fbaja` AS `F.Baja`,`p`.`enmano` AS `enmano`,`p`.`entidad` AS `Entidad`,`p`.`oficina` AS `Sucursal`,`p`.`digito` AS `D.C.`,`p`.`cuenta` AS `Cuenta`,`p`.`fmodcuenta` AS `F.Mod.Cuenta`,`cuotas`.`denominacion` AS `cuota`,`p`.`fmodcuota` AS `F.Mod.Cuota`,`p`.`obscuotas` AS `Af.Obs.`,`c`.`tipo` AS `T.Personal`,`sa`.`denominacion` AS `S.Administrativa`,`sf`.`denominacion` AS `S.Funcionario`,`c`.`denominacion` AS `Cuerpo`,`p`.`observaciones` AS `Adm.Obs.`,`centros`.`denominacion` AS `Destino`,`centros`.`localidad` AS `Loc.Destino`,`centros`.`provincia` AS `Prov.Destino`,`centros`.`observaciones` AS `Obs.Destino`,`especialidades`.`especialidad` AS `Esp.Destino`,`centros_1`.`denominacion` AS `Servicio`,`centros_1`.`localidad` AS `Loc.Servicio`,`centros_1`.`provincia` AS `Prov.Servicio`,`centros_1`.`observaciones` AS `Obs.Servicio`,`especialidades_1`.`especialidad` AS `Esp.Servicio`,`p`.`limbo` AS `limbo` from ((((((((`datos` `p` left join `sit_adm` `sa` on((`p`.`sit_adm` = `sa`.`codigo`))) left join `sit_fun` `sf` on((`p`.`sit_fun` = `sf`.`codigo`))) left join `cuotas` on((`p`.`cuota` = `cuotas`.`codigo`))) left join `centros` on((`centros`.`codigo` = `p`.`destino`))) left join `centros` `centros_1` on((`centros_1`.`codigo` = `p`.`servicio`))) left join `especialidades` on((`p`.`espec_dest` = `especialidades`.`codigo`))) left join `especialidades` `especialidades_1` on((`p`.`espec_serv` = `especialidades_1`.`codigo`))) left join `cuerpos` `c` on((`p`.`cuerpo` = `c`.`codigo`)))


Eso si que es largo (y ademas es un caso real)... más largo que un dia sin pan...

Subject: Re: El Operador LIKE De SQL
Que barbaridad, la leche!.

Vamos, como para confundirte en algo por el camino.

Saludos

Subject: Re: El Operador LIKE De SQL
Hola.
Tu aporte sobre el uso del operador LIKE fue muy bueno para mi, me permitió visualizar el mètodo para resolver una necesidad, pero lo probé y no pude resolver. Necesito otra ayudita
Estoy trabajando con un formulario con Gambas3 y MySQL para la base de datos. El formulario es para registrar datos de una persona e incluye un textbox donde el usuario debe introducir el nombre de la persona, eso va a una tabla llamada "personas", especificamente a un campo llamado "nombrepers". Ya conseguì hacer la conexión y guardar, pero quiero que el procedimiento "buscar" me permita devolver al formulario los datos de la persona guardada. Y la bùsqueda debo hacerla por el nombre, pero el usuario no siempre sabrà còmo se guardo exactamente ese nombre, por lo que debo usar el operador LIKE. Quisiera que el textbox u otra lista (no se què objeto podrìa usar) hiciera algo como un autocompletado. Es decir que si el usuario introduce la letra "M" en el textbox aparezca una lista con todos los nombres que existan y que comiencen con esa letra, y si sigue escribiendo "Ma" entonces aparezca en la lista solo los que comienzan por esas dos... y asì. He leìdo que debo hacer un bucle, lo intentè pero no lo estoy haciendo bien...

Profile PM  
Goto page 1, 2  Next

Page 1 of 2


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1093s (PHP: -6% SQL: 106%)
SQL queries: 24 - Debug Off - GZIP Enabled