Problema:
Desideri rimuovere un'interruzione di riga in una colonna.
Esempio:
Il nostro database ha una tabella denominata address_book con i dati nelle colonne city_name e company_address . Vorresti sostituire ciascuna delle schede e le interruzioni di riga in company_address colonna con ' ' (uno spazio) per renderlo visivamente più accattivante.
| nome_città | indirizzo_azienda |
|---|---|
| Tokyo | 15th Oreo Street, Tokio 9870-11 |
| Varsavia | 18 Marszalkowska Ave, Varsavia 03-654 |
| Accra | 123 Giunzione a banana, Circle-Accra, 00244 |
| Berlino | 25th Mango Avenue, Asilo giù, DE-1234 |
Soluzione:
Ecco la domanda:
SELECT city_name, REPLACE(company_address, CHR(10) || CHR(13) || CHR(9), ‘ ‘) FROM address_book;
Ecco il risultato della query:
| nome_città | indirizzo_azienda |
|---|---|
| Tokyo | 15th Oreo Street, Tokyo 9870-11 |
| Varsavia | 18 Marszalkowska Ave, Varsavia 03-654 |
| Accra | 123 Banana Junction, Circle-Accra, 00244 |
| Berlino | 25th Mango Avenue, Asylum Down, DE-1234 |
Discussione:
Il REPLACE() La funzione viene generalmente utilizzata per sostituire tutte le occorrenze di una stringa specificata in una stringa con un'altra stringa. Potresti chiedere perché abbiamo usato CHR(10) e CHR(13) nell'esempio sopra. Il CHR() La funzione viene utilizzata per inserire caratteri di controllo in una stringa. CHR(10) viene utilizzato per inserire interruzioni di riga, CHR(9) è per le schede e CHR(13) è per i resi.
Nell'esempio sopra, volevamo rimuovere tutte le occorrenze dell'interruzione di riga, della tabulazione e del ritorno a capo, quindi abbiamo usato CHR(10) , CHR(9) e CHR(13) . Possono essere combinati utilizzando il segno di concatenazione in Oracle (|| ) per rimuovere tutte le loro occorrenze in una colonna. Un esempio di sintassi è REPLACE(string, CHR(10) || (CHR(13) || CHR(09), ‘ ‘ ) .