tabulaciones saltos salto retorno quitar linea eliminar consulta carro sql char carriage-return sql-like

retorno - quitar saltos de linea en plsql



Consulta SQL para un retorno de carro en una cadena y finalmente eliminando el retorno de carro (8)

Consulta SQL para un retorno de carro en una cadena y finalmente eliminando el retorno de carro

Tengo algunos datos en una tabla y hay algunos retornos de carro en lugares donde no los quiero. Estoy intentando escribir una consulta para obtener todas las cadenas que contienen retornos de carro.

Intenté esto

select * from Parameters where Name LIKE ''%"/n" %''

también

select * from Parameters where Name LIKE ''/r''

''

Ambos son SQL válidos pero no devuelven lo que estoy buscando. ¿Necesito usar el comando Me gusta o un comando diferente? ¿Cómo obtengo el retorno del carro en la consulta?

El retorno del carro tampoco necesariamente está al final de la línea (puede estar en el medio).


En SQL Server I usaría

where charindex(char(13), name)<>0


Omita las comillas dobles de su primera consulta.

... LIKE ''%/n%''


También puedes usar expresiones regulares:

SELECT * FROM Parameters WHERE Name REGEXP ''/n'';


Esto también funciona

SELECT TRANSLATE(STRING_WITH_NL_CR, CHAR(10) || CHAR(13), '' '') FROM DUAL;


esto será lento, pero si es una cosa de una vez, intente ...

select * from parameters where name like ''%''+char(13)+''%'' or name like ''%''+char(10)+''%''

Tenga en cuenta que el operador de concatenación de cadenas SQL ANSI es "||", por lo que puede necesitar ser:

select * from parameters where name like ''%'' || char(13) || ''%'' or name like ''%'' || char(10) || ''%''


Algo así parece funcionar para mí:

SELECT * FROM Parameters WHERE Name LIKE ''%/n%''


La pregunta principal era eliminar el CR / LF. Usar las funciones de reemplazo y char funciona para mí:

Select replace(replace(Name,char(10),''''),char(13),'''')

Para Postgres u Oracle SQL, use la función CHR en su lugar:

replace(replace(Name,CHR(10),''''),CHR(13),'''')


esto funciona: selecciona * de la tabla donde la columna como ''% (pulsa enter)%''

Ignora los corchetes y presiona enter para introducir una nueva línea.