Modificar datos en un campo Varchar2 en Oracle

Hola: 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
Muchísimas gracias por tu ayuda
1

1 respuesta

1
Respuesta de
Hola.
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.
Un saludo,
Tinoco DBA (tinodba)
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje

Más respuestas relacionadas

¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Oracle o hacer tu propia pregunta: