Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 18
Alejandro73 Va por buen camino
Like en MySql

Estimados

Necesito realizar una consulta en Mysql, donde paso dos parametros, en uno de ellos lo debo utilizar LIKE, el punto es que no tengo claro como utilizarlo y no he encontrado ayuda.
Código SQL [-]
SELECT NOMBRE, CUENTA_CORREO
FROM NOMBRES, CORREOS
WHERE NOMBRE=:VARIABLE_NOMBRE 
AND RUT LIKE '%787%'
Se entiende que el valor "787" esta representado por el parametro que contiene el rut a buscar

Desde ya muchas gracias
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......

Última edición por Casimiro Notevi fecha: 06-07-2013 a las 00:01:11.
Responder Con Cita
  #2  
Antiguo 06-07-2013
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
el like es el equivalente a que se parezca a. Para parametrizarlo tienes que hacer esto:
Código SQL [-]
SELECT NOMBRE, CUENTA_CORREO
FROM NOMBRES, CORREOS
WHERE NOMBRE=:VARIABLE_NOMBRE 
AND RUT LIKE concat("%",:VARIABLE_RUT,"%")

Lo puse de memoria por lo que revísalo primero, recuerda que los campos nombre y RUT deben estar indexados para mejorar la velocidad del query.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #3  
Antiguo 08-07-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 18
Alejandro73 Va por buen camino
Estimado

gracias por tu respuesta, pero entrega el siguiente error ORA-00920: operador relacional no válido
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #4  
Antiguo 08-07-2013
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
No era MySQL el error que has puesto es de ORACLE

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #5  
Antiguo 08-07-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 18
Alejandro73 Va por buen camino
Estimado olbeup, tienes toda la razón

Gracias
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #6  
Antiguo 08-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Alejandro73 Ver Mensaje
Estimado olbeup, tienes toda la razón
Gracias
¿Entonces es oracle y no es mysql?, confírmalo para mover el hilo de foro
Responder Con Cita
  #7  
Antiguo 08-07-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 18
Alejandro73 Va por buen camino
Estimado

La consulta es sobre MySql.
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #8  
Antiguo 08-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Alejandro73 Ver Mensaje
Estimado
La consulta es sobre MySql.
Entonces ¿el error de oracle?
Responder Con Cita
  #9  
Antiguo 08-07-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 18
Alejandro73 Va por buen camino
Estimado

Casimiro Notevi, por error ejecute en ORACLE en lugar de MySql, quedo claro o debo especificar aun más.

Saludos
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #10  
Antiguo 08-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Alejandro73 Ver Mensaje
Estimado
Casimiro Notevi, por error ejecute en ORACLE en lugar de MySql, quedo claro o debo especificar aun más.
Saludos
Evidentemente, sí debes especificar aún más.
Si el error es de mysql y pones el de oracle, entonces deberías copiarnos el mensaje que te sale en mysql
Responder Con Cita
  #11  
Antiguo 09-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Y en cualquiera de las dos bases de datos, ¿no es más fácil pasrale directamente el carácter de patrón a la variable y hacer esto?

Código SQL [-]
SELECT NOMBRE, CUENTA_CORREO
FROM NOMBRES, CORREOS
WHERE NOMBRE = :VARIABLE_NOMBRE 
AND RUT LIKE : VARIABLE_RUT

Donde :VARIABLE_RUT sea igual a "%787%"
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #12  
Antiguo 10-07-2013
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Es lo mismo como tu dices, solo que de la forma que sugerí dejamos el armado de la cadena al motor y en el otro caso hay que hacerlo por código antes de pasarlo al motor. Depende de como quiera implementarse. He visto programas que incluso permiten al usuario poner los caracteres comodines ("%") al momento de buscar por un campo de texto, pero en lo personal no me gusta que el usuario final tenga que meterse con el sql por lo que casi siempre limpio la cadena que capturó el usuario antes de pasarla al motor por aquello del SQL injection.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mysql WorkBench vs Mysql Administrator RebeccaGL MySQL 4 30-10-2012 22:46:28
MySQL & Append (Componente DAC MySQL) Bruce MySQL 0 04-03-2011 15:47:30
Sincronizar BD MySQL Hosting con BD MySQL servidor local ivantech MySQL 3 09-03-2010 20:01:07
MySQL+D7+ & UTF-8 penyaloco MySQL 1 28-04-2005 16:05:33
como conectarme remotamente mysql a mysql sakuragi MySQL 14 11-11-2004 16:04:46


La franja horaria es GMT +2. Ahora son las 19:06:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi