Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment remplacer une nouvelle ligne dans Oracle

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