Problema:
Le gustaría eliminar un salto de línea en una columna.
Ejemplo:
Nuestra base de datos tiene una tabla llamada address_book
con datos en las columnas city_name
y company_address
. Le gustaría reemplazar cada una de las pestañas y los saltos de línea en company_address
columna con " " (un espacio) para que sea más atractivo visualmente.
nombre_ciudad | dirección_de_la_empresa |
---|---|
Tokio | Calle Oreo 15, Tokio 9870-11 |
Varsovia | Avenida Marszalkowska 18, Varsovia 03-654 |
Acra | 123 cruce de plátanos, Círculo-Accra, 00244 |
Berlín | Avenida Mango 25, Asilo Abajo, DE-1234 |
Solución:
Aquí está la consulta:
SELECT city_name, REPLACE(company_address, CHR(10) || CHR(13) || CHR(9), ‘ ‘) FROM address_book;
Este es el resultado de la consulta:
nombre_ciudad | dirección_de_la_empresa |
---|---|
Tokio | Calle Oreo 15, Tokio 9870-11 |
Varsovia | 18 Marszalkowska Ave, Varsovia 03-654 |
Acra | 123 Banana Junction, Circle-Accra, 00244 |
Berlín | 25th Mango Avenue, Asylum Down, DE-1234 |
Discusión:
El REPLACE()
La función generalmente se usa para reemplazar todas las apariciones de una cadena especificada en una cadena con otra cadena. Puede preguntar por qué usamos CHR(10)
y CHR(13)
en el ejemplo anterior. El CHR()
La función se utiliza para insertar caracteres de control en una cadena. CHR(10)
se usa para insertar saltos de línea, CHR(9)
es para pestañas, y CHR(13)
es para retornos de carro.
En el ejemplo anterior, queríamos eliminar todas las apariciones del salto de línea, del tabulador y del retorno de carro, por lo que usamos CHR(10)
, CHR(9)
y CHR(13)
. Se pueden combinar usando el signo de concatenación en Oracle (||
) para eliminar todas sus apariciones en una columna. Un ejemplo de sintaxis es REPLACE(string, CHR(10) || (CHR(13) || CHR(09), ‘ ‘ )
.