Problème :
Vous souhaitez supprimer un saut de ligne dans une colonne.
Exemple :
Notre base de données a une table nommée address_book
avec des données dans les colonnes city_name
et company_address
. Vous souhaitez remplacer chacun des onglets et les sauts de ligne dans company_address
colonne avec ‘ (un espace) pour le rendre plus attrayant visuellement.
nom_ville | adresse_entreprise |
---|---|
Tokyo | 15e rue Oreo, Tokyo 9870-11 |
Varsovie | 18 avenue Marszalkowska, Varsovie 03-654 |
Accra | 123 Banana Junction, Cercle-Accra, 00244 |
Berlin | 25e avenue Mango, Asile vers le bas, DE-1234 |
Solution :
Voici la requête :
SELECT city_name, REPLACE(company_address, CHR(10) || CHR(13) || CHR(9), ‘ ‘) FROM address_book;
Voici le résultat de la requête :
nom_ville | adresse_entreprise |
---|---|
Tokyo | 15e rue Oreo, Tokyo 9870-11 |
Varsovie | 18, avenue Marszalkowska, Varsovie 03-654 |
Accra | 123 Banana Junction, Circle-Accra, 00244 |
Berlin | 25e avenue Mango, Asylum Down, DE-1234 |
Discussion :
Le REPLACE()
La fonction est généralement utilisée pour remplacer toutes les occurrences d'une chaîne spécifiée dans une chaîne par une autre chaîne. Vous pouvez demander pourquoi nous avons utilisé CHR(10)
et CHR(13)
dans l'exemple ci-dessus. Le CHR()
La fonction est utilisée pour insérer des caractères de contrôle dans une chaîne. CHR(10)
est utilisé pour insérer des sauts de ligne, CHR(9)
est pour les onglets, et CHR(13)
est pour les retours chariot.
Dans l'exemple ci-dessus, nous voulions supprimer toutes les occurrences du saut de ligne, de la tabulation et du retour chariot, nous avons donc utilisé CHR(10)
, CHR(9)
, et CHR(13)
. Ils peuvent être combinés à l'aide du signe de concaténation dans Oracle (||
) pour supprimer toutes leurs occurrences dans une colonne. Un exemple de syntaxe est REPLACE(string, CHR(10) || (CHR(13) || CHR(09), ‘ ‘ )
.