Guardar resultado en txt SQL Server pero arroja saltos de línea a mitad del registro

Tengo una Query que deseo guardar como resultado en .txt, mediante SQL Management Studio 2012. Al hacerlo, cada registro lo divide en tres filas, debiendo estar en una misma fila.

1 Respuesta

Respuesta
1

El problema que tienes está radicado en la existencia de un Carrier return o mejor conocido como un ENTER en el texto grabado en la base de datos. Cuando un editor de texto lo Lee, interpreta los saltos de línea pero visualmente en el campo no lo ves.

Estimado David, gracias por tu respuesta. 

No me queda claro cómo evitar ese "Carrier return". He googleado respecto al término pero no se aplica a la consulta creada, a lo menos que sea un problema de configuración de las Consultas. Adjunto la imagen de la Query para mayor antecedente. 

El inconveniente, probablemente, se está generando en la captura de datos, los cuales llena la tabla de SQL y no en la consulta en si

Existen los caracteres ASCII, los cuales permiten obtener múltiples caracteres con una combinación de códigos y muchos de estos caracteres NO son visibles. Aunque desconozco el origen de los datos, puede estar ocurriendo que tengas un TEXTBOX o algo similar de donde captura los datos y ese campo sea multilinea. Cuando digitan los datos, probablemente están escribiendo hasta cierto punto, le dan Enter y escribe otra línea y por último un tercer Enter

Ejemplo:

Escribieron

Tres

Frases

Y tu en base de datos está visualmente "Escribieron tres frases"

Este problema, me ha sucedido en el pasado, y en las consultas resolvía con un replace

SELECT REPLACE(REPLACE(CAMPO_bd, CHAR_13 , ''),CHAR_10 ,'')

Los caracteres que te dan problemas son CHAR 13 o CHAR 10, lo ideal es solventar el problema desde el origen, pero mientras tanto, el campo donde veas que hace los saltos de linea, le aplicas este replace de ejemplo

En este articulo te habla de la diferencia entre ambos:

https://www.petefreitag.com/item/863.cfm

El sistema no me permite escribir la instrucción correcta

SELECT REPLACE(REPLACE(CAMPO_bd, CHAR_13 , ''),CHAR_10 ,'')

debes reemplazar el CHAR_13 por char_parentesis_13_parentesis omitiendo los _

Lo mismo ocurre con el CHAR_10

¡Gracias! 

Muuuuuuuy agradecido.... me funcionó a la primera.

De igual forma la solución debe estar en la configuración. Como dijiste, la solución debe venir de reconfigurar algunos caracteres por defecto ASCII

Muy agradecido por tu ayuda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas