CONVERT |
Convertir |
|---|---|
| Oracle Database SQL | Oracle 8i (8.1) ou supérieure |
Syntaxe
| convert(chaine1,char_set_to[,char_set_from]) |
Paramètres
| Nom | Description |
|---|---|
| chaine1 | Ce paramètre permet d'indiquer la chaîne de caractères à convertir. |
| char_set_to | Ce paramètre permet d'indiquer dans quel ensemble de caractères il faut le convertir. |
| char_set_from | Ce paramètre optionnel permet d'indiquer quel est l'ensemble de caractères d'origine. |
Description
Cette fonction permet de convertir l'ensemble de police de caractères d'une chaînes de caractères pour un ensemble de police de caractères spécifié.
Remarques
- Permet de convertir l'encodage d'une chaîne de caractères : La fonction CONVERT transforme une chaîne de caractères d'un ensemble de caractères source (char_set_from) vers un ensemble de caractères cible (char_set_to). Cela est particulièrement utile lorsqu'on manipule des données provenant de systèmes utilisant des encodages différents.
- Paramètre optionnel pour préciser l'encodage d'origine : Le troisième paramètre char_set_from est optionnel. S'il n'est pas fourni, Oracle utilise l'encodage par défaut de la base de données. Cela peut entraîner des erreurs si la chaîne n'est pas dans cet encodage par défaut.
- Essentiel pour le traitement de données multilingues : Lors de l'import/export ou du transfert de données entre bases ou systèmes, la conversion d'encodage garantit que les caractères spéciaux, accents, ou symboles spécifiques sont correctement affichés et entreposés.
- Compatible avec une large variété d'ensembles de caractères : Oracle supporte de nombreux jeux de caractères, tels que WE8ISO8859P1, AL32UTF8, UTF8, US7ASCII,... CONVERT permet de passer facilement d'un ensemble à un autre pour assurer la compatibilité des données.
- Peut entraîner une perte d'information si conversion incorrecte : Si la chaîne contient des caractères qui n'existent pas dans l'ensemble cible, la conversion peut remplacer ces caractères par des symboles de substitution ou perdre l'information, d'où l'importance de choisir un encodage cible adapté.
- Fonction utile pour uniformiser les données dans une base : Avant d'effectuer des comparaisons ou des tris, convertir toutes les chaînes dans un même encodage évite des incohérences dues à des différences d'encodage, améliorant la fiabilité des opérations SQL.
- Permet de résoudre les problèmes d'affichage dans les interfaces utilisateurs : Les applications frontales affichent parfois mal des caractères spéciaux si l'encodage ne correspond pas à celui de la base. L'utilisation de CONVERT côté base permet de corriger ces problèmes avant transmission.
- Attention à la performance lors de conversions massives : Les conversions d'encodage peuvent être coûteuses en termes de performance si appliquées sur de larges volumes de données. Il est recommandé d'optimiser leur usage ou de les appliquer lors de traitements par lots.
Exemples
L'exemple suivant illustre la conversion d'un ensemble de caractères en convertissant une chaîne Latin-1 en ASCII. Le résultat est identique à l'importation de la même chaîne d'une base de données WE8ISO8859P1 vers une base de données US7ASCII :
on obtiendra un résultat ressemblant à ceci :
CONVERT('ÄÊÍÕØABCDE'---------------------
A E I ? ? A B C D E ?
Vous pouvez interroger la vue V$NLS_VALID_VALUES pour obtenir une liste des ensembles de caractères valides, comme suit :
- SELECT * FROM V$NLS_VALID_VALUES WHERE parameter = 'CHARACTERSET';
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015