Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

like sobre replace

Estas en el tema de like sobre replace en el foro de Mysql en Foros del Web. Hola amigos, me eh topado con un problema donde me piden. tomar un campo de la base de datos eliminar los espacios en blanco entre ...
  #1 (permalink)  
Antiguo 04/12/2011, 08:47
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años
Puntos: 1
like sobre replace

Hola amigos, me eh topado con un problema donde me piden.

tomar un campo de la base de datos eliminar los espacios en blanco entre las palabras y buscar en ese campo sin espacios.

eh intentado hacer esto:

SELECT p.id, REPLACE(p.name," ", "" ) as namenospace from productos p
WHERE namenospace LIKE '%datobuscar%';

pero me retorna un mensaje que no existe namenospace T_T

gracias por todo amigos.
  #2 (permalink)  
Antiguo 04/12/2011, 09:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: like sobre replace

Porque en el WHERE sólo puede operar con los alias de las tablas y las bases, no de las columnas. Los nombres de las columnas deben ser siempre los de las nombres reales de las mismas.
Es una restricción general de todos los DBMS.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 04/12/2011, 09:27
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años
Puntos: 1
Respuesta: like sobre replace

ni modo buscar otras soluciones T_T

Gracias
  #4 (permalink)  
Antiguo 04/12/2011, 10:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: like sobre replace

¿Has probado esto?
SELECT p.id from productos p WHERE REPLACE(p.name," ", "" ) LIKE '%datobuscar%';
  #5 (permalink)  
Antiguo 04/12/2011, 10:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: like sobre replace

Me asalta una duda: ¿para qué le eliminas los espacios en blanco?
Personalmente lo veo propenso a errores de interpretación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 05/12/2011, 09:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: like sobre replace

gonzalo,
al parecer quería esto:
tomar un campo de la base de datos eliminar los espacios en blanco entre las palabras y buscar en ese campo sin espacios.

Es decir, quitar todos los espacios en blanco de un campo, creando de ese modo una cadena continua. Luego buscar en él. No sé por qué quiere hacer eso, pero parece que es lo que le han pedido. Imaginemos que tiene en un campo "cuatro 2"
y quiere poder encontrarlo buscando "%ro2%"

Es la única razón que lo explica.

Última edición por jurena; 06/12/2011 a las 14:44
  #7 (permalink)  
Antiguo 05/12/2011, 10:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: like sobre replace

Sip.
Me huele a esos ejercicios irracionales que me ponían en Análisis de Sistemas, o en Programación II... cosas de uso didáctico sin demasiada importancia en el mundo real.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 05/12/2011, 15:00
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años
Puntos: 1
Respuesta: like sobre replace

Pasa q me envían un documento en excel donde tiene una columna de código.de.producto generado del nombre de producto +talla+color y la cantidad . También tengo un sistema web al cual debo importar las cantidades de cada producto, #como ya viene generado tengo q prepara un scrip para desglodar ese código del.excel a partir de campos en la base de datos
  #9 (permalink)  
Antiguo 06/12/2011, 14:46
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: like sobre replace

Habría que ver cómo te llegan los datos, con un ejemplo, los tamaños de los supuestos campos (talla), si se envían en tamaño fijo o no, etc., para poder ayudarte algo más.
  #10 (permalink)  
Antiguo 06/12/2011, 14:57
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años
Puntos: 1
Respuesta: like sobre replace

les cuento como lo solucioné.

codigos en excel en el siguiente formato.

SIDNCNSXXL

1) hice las consultas a la base de datos y guardé en un array del sistema web.

array(lista productos)
array(lista colores)
array(lista tallas)

tome el primer elemento del array producto en este caso el alias. y comprueba si eso existe en la lista excel.

en caso de que exista tome los caracteres y separe dos caracteres mas de son el color y lo que sobra la talla. ^^

luego para asegurarme que no haya problemas

consulto el color que extraje si existe dentro del array color, lo mismo con la talla

luego pregunto si color y talla existen entonces el producto es el correcto.

y listo.


Gracias por su ayuda. seguro que queda por optimizar todo esto pero ya solución esta ^^.
  #11 (permalink)  
Antiguo 06/12/2011, 15:01
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años
Puntos: 1
Respuesta: like sobre replace

Cita:
Iniciado por jurena Ver Mensaje
Habría que ver cómo te llegan los datos, con un ejemplo, los tamaños de los supuestos campos (talla), si se envían en tamaño fijo o no, etc., para poder ayudarte algo más.
pues ese era el quebradero de cabeza los únicos que tenía tamaño de caracteres fijos eran los colores
  #12 (permalink)  
Antiguo 08/12/2011, 12:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: like sobre replace

Me alegro, yoelkj. Si te funciona, pues ya está.

Etiquetas: replace
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:24.