Modificar datos en un campo Varchar2 en Oracle

En Oracle 8 necesito modificar el contenido de un campo definido como Varchar2 de longitud 4000 que es utilizado como un campo de Notas. En él los usuarios ingresaron Enter's (carácter de control LF) en medio del texto como para que quede mejor visualmente en la aplicación que lo utiliza. El problema es que necesito volcar los datos almacenados en este campo (y en otros) a un archivo .txt y al importarlo me trae el contenido de ese campo en varias líneas distintas según los Enter's que se ingresaron y por supuesto esto no me sirve. La idea es entonces poder eliminar estos caracteres de control introducidos en medio del texto con un Replace o Delete o alguna otra sentencia que se ajuste mejor a esto, pero no se como hacerlo. Debería ser algún proceso que se pueda correr en todos los registros que cumplan con esta condición ya que son más de 7000 los que debo corregir.
Por favor me sería de mucha utilidad me puedas indicar como armar la/s sentencia/s SQL o algún script porque necesito realizar este trabajo con un poco de urgencia. O bien me indiques si existe alguna otra forma de volcar estos datos a un txt o xls

1 Respuesta

Respuesta
1
Para sustituir los caracteres LF puedes utilizar la función REPLACE para cambiar los "LFs" por lo que quieras, por ejemplo "<br>", que es el tag de HTML para hacer el retorno de carro.
Por ejemplo, para cambiar todos los "LF's" del campo "notas" de la tabla "Mi_Tabla" de todos los registros debes ejecutar lo siguiente:
UPDATE Mi_Tabla
SET notas=REPLACE(notas,CHR(10),'<BR>');
Prueba a hacer un select para ver si lo has hecho bien.
¡OJO! Ten cuidado de no cambiar los "LF's" por otro carácter que se use como parte del valor del campo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas