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), ‘ ‘ ) .