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

Sustitucion del texto & en un campo de una tabla de oracle

Estas en el tema de Sustitucion del texto & en un campo de una tabla de oracle en el foro de Oracle en Foros del Web. Tengo que realizar un cambio en unas 60 tablas en las que hay un campo llamado url_novedad con un total de unos 30.000 registros similar ...
  #1 (permalink)  
Antiguo 06/11/2008, 10:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Sustitucion del texto & en un campo de una tabla de oracle

Tengo que realizar un cambio en unas 60 tablas en las que hay un campo llamado url_novedad con un total de unos 30.000 registros similar a este que pongo a modo de ejemplo( pues todos son diferentes.)

channel=5f45832696b59110VgnVCM1000004ef01e0a____&; ver=L&site=56d8237c0bc1ff00VgnVCM100000d7005a80___ _&;idioma=es_ES&;menu=0&;img=0

y he de sustiruir el & por & para que quede como el de abajo.

channel=5f45832696b59110VgnVCM1000004ef01e0a____&v er=L&site=56d8237c0bc1ff00VgnVCM100000d7005a80____ &idioma=es_ES&menu=0&img=0

Quisiera montar un pl/sql que me los update para reemplazar el "&" por "&" ya que hasta ahora mis intentos han sido infructuosos.

El problema es que considera el & para recoger la variable amp;.

Si pudieran ayudarme les estaria agradecido

Un saludo
  #2 (permalink)  
Antiguo 07/11/2008, 01:16
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Respuesta: Sustitucion del texto & en un campo de una tabla de oracle

creo que con un simple sql quedaria

update tabla set url_novedad = replace('&','&', url_novedad);

en teoria deberia de funcionar asi aunque no tengo la base de datos a la mano para probarlo
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 07/11/2008, 02:09
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Sustitucion del texto & en un campo de una tabla de oracle

No, eso no cuela.
Prueba a buscar en una tabla de códigos el codigo ascii del & ( no recuerdo cual es ) y concatenarlo con el string :

chr(&)||'amp'

Supongo que eso te rulara.

Ya nos dirás

EDITO : Si que rula, mira :

SQL> select chr(38)||'amp'
2 from dual;

CHR(
----
&amp

SQL>

Ahora simplemente aplica el update con el replace correcto y a tirar millas.
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 12:48.