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

Reemplazar caracter string o letra en base de datos mysql

Estas en el tema de Reemplazar caracter string o letra en base de datos mysql en el foro de Mysql en Foros del Web. Buenas.. tengo una curiosidad.. necesito reemplazar un determinado caracter de mi base de datos en un campo tipo TEXT... por lo general para un string ...
  #1 (permalink)  
Antiguo 17/11/2012, 05:40
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Reemplazar caracter string o letra en base de datos mysql

Buenas.. tengo una curiosidad.. necesito reemplazar un determinado caracter de mi base de datos en un campo tipo TEXT... por lo general para un string cualquiera empleo el siguiente comando:

Código MySQL:
Ver original
  1. UPDATE tabla
  2.    SET campo= Replace(campo, 'string_a_buscar', 'string_de_reemplazo')

o bien

Código MySQL:
Ver original
  1. UPDATE tabla
  2.    SET campo= Replace(campo, 'string_a_buscar', 'string_de_reemplazo')
  3. WHERE campo LIKE '%string_a_buscar%'

en este caso mi idea es reemplazar los acentos de este campo por sus caracteres de escape HTML.. es decir, reemplazar "á" por "á" y asi con las demas vocales, ñ y demas.. no se porque no me lo reemplaza en el campo tipo TEXT.. si en los VARCHAR o character vayaring de POSTGRES

alguien sabe como hacer esto, ya que no me saleee... agradecería una mano..

__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 17/11/2012 a las 05:49
  #2 (permalink)  
Antiguo 17/11/2012, 06:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Reemplazar caracter string o letra en base de datos mysql

Cita:
en este caso mi idea es reemplazar los acentos de este campo por sus caracteres de escape HTML.. es decir, reemplazar "á" por "á" y asi con las demas vocales, ñ y demas.. no se porque no me lo reemplaza en el campo tipo TEXT.. si en los VARCHAR o character vayaring de POSTGRES
Eso no tiene ningún sentido ni utilidad, porque los lenguajes de programación ya tienen funciones para eso, y si alteras los datos en la base de ese modo, después tendrás problemas si quieres acceder a los datos desde otro front-end.
Nadie hace semejante cosa.
Olvídate del asunto, y programa mejor tu aplicación. Evitarás muchos problemas.

Posdata: No te permite operar con REPLACE contra campos de ese tipo, entre ortas cosas, porque el algoritmo que implementa la función no está diseñado para operar contra campos que pueden llegar a tener 4Gb. Si lo piensas, hacer ese tipo de operaciones contra campos que potencialmente tengan ese tamaño tendría un enorme costo de procesamiento... para algo completamente inútil, impráctico y que no se debe hacer.
__________________
¿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 17/11/2012, 07:29
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Reemplazar caracter string o letra en base de datos mysql

solo puse un ejemplo... pudo ser cualquier palabra, letra o numero... pero si los text no aceptan el REPLACE ya esta respondido.. aunque no tiene ni 2 kb los datos que estoy experimentando..

Gracias amigo por tomarte el tiempo de la explicación.. estoy profundizando en SQL y demás y si no experimento, no aprendo.. =D
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #4 (permalink)  
Antiguo 17/11/2012, 07:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Reemplazar caracter string o letra en base de datos mysql

Para aclararte un punto, no es importante el que tus datos tengan o no 2k.
El algoritmo trabaja sobre el tipo de dato y el peor escenario posible, porque se diseña para esos. No para lo fácil. Si el máximo posible es de 4Gb, entonces se apunta a eso. Por eso la función no es aplicable.
Ahora bien, si lo más grande que tendrás en ese campo son 2Kb, entonces lo tienes mal definido, porque un TEXT es innecesario, con un VARCHAR alcanza y sobra.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 17/11/2012 a las 10:49

Etiquetas: letra, reemplazar, string, tabla, tipo, caracteres, campos
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:03.