es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminar retorno de carro / avance de línea en la cadena y mostrar con comillas.

Tengo el siguiente código SQL que muestra una cadena entre comillas dobles:

SELECT '"'+A.DESCR+'"'
FROM MyTable

Resultado:
"Stackable Storage Basket"

He descubierto que tengo saltos de línea en algunos de los datos y quiero eliminarlos sin perder las comillas. He modificado el código de la siguiente manera, sin embargo, esto está agregando una comilla extra al final de la cadena y tampoco retiene la comilla inicial.

SELECT REPLACE(REPLACE(DESCR + '"'+DESCR+'"' + '''', char(10),'"'), char(13), '"')
FROM MyTable

Resultado:
Stackable Storage Basket"'

¿Cómo debo modificar esto para obtener el comportamiento esperado?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para eliminar los saltos de línea y los retornos de carro al mismo tiempo que se conservan las comillas, puedes modificar el código de la siguiente manera:

    SELECT '"' + REPLACE(REPLACE(DESCR, CHAR(13), ''), CHAR(10), '') + '"'
    FROM MyTable
    

    En este código, en primer lugar se limpia la columna DESCR utilizando la función REPLACE() para eliminar cualquier retorno de carro y salto de línea. Luego, se envuelve el texto limpio con comillas dobles utilizando la entidad HTML ". Esto asegura que las comillas se conserven alrededor del texto mientras se eliminan cualquier carácter no deseado.

Comments are closed.