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