NLS_COLLATION_NAME |
Nom de collation national |
| Oracle Database SQL |
Oracle 12c Release?2 (12.2) ou supérieure |
Syntaxe
|
NLS_COLLATION_NAME(expr [, flag ])
|
Paramètres
| Nom |
Description |
| expr |
Ce paramètre permet d'indiquer l'identifiant numérique de la collation NLS pour laquelle on souhaite obtenir le nom lisible. Il s'agit généralement d'une valeur retournée par la fonction NLS_COLLATION_ID ou d'une valeur provenant des métadonnées système. |
| flag |
Ce paramètre permet de préciser le format ou le type de nom retourné. Bien que rarement utilisé, il peut influencer la manière dont le nom de la collation est restitué. Si omis, la fonction retourne le nom standard associé à l'identifiant. |
Description
Cette fonction permet de retourner le nom de collation associé à un identifiant numérique donné. Elle facilite l'interprétation des IDs de collation retournés par d'autres fonctions ou métadonnées, en les traduisant en noms lisibles.
Remarques
- Cette fonction facilite l'interprétation des collations en environnement multilingue : Elle permet de traduire un identifiant numérique de
collation en un nom lisible par l'humain, ce qui est essentiel dans les bases de données multilingues ou sensibles à la langue. En affichant le nom textuel, elle aide
les administrateurs à mieux comprendre les comparaisons linguistiques appliquées à une colonne ou une requête.
- Elle est particulièrement utile en complément d'autres fonctions NLS : NLS_COLLATION_NAME est souvent utilisée en tandem avec NLS_COLLATION_ID,
retournant l'identifiant d'une collation. Ensemble, ces deux fonctions permettent d'effectuer des allers-retours entre noms et identifiants de collations, ce qui est utile
pour les diagnostics, les migrations ou les audits de configuration linguistique.
- Elle aide à analyser les métadonnées du dictionnaire Oracle : Dans certaines vues comme ALL_TAB_COLUMNS, il peut être utile de connaître
l'identifiant de collation d'une colonne. En utilisant NLS_COLLATION_NAME, on peut facilement transformer cet identifiant en un nom de collation compréhensible, rendant
les métadonnées plus exploitables.
- Le paramètre expr est strictement requis et doit être un entier valide : Ce paramètre représente l'identifiant de collation à traduire.
Si la valeur fournie n'est pas valide ou n'existe pas dans les collations enregistrées, la fonction retourne NULL. Il faut donc s'assurer que cet identifiant provient
d'une source fiable ou validée.
- Le second paramètre, flag, est facultatif mais peut modifier le résultat : Même s'il est peu documenté, ce paramètre permet de spécifier
le type de nom à renvoyer, comme un alias ou un nom technique. Il n'est généralement pas nécessaire pour un usage courant, mais peut être utile dans des contextes avancés
de personnalisation.
- La fonction améliore la lisibilité dans les rapports ou scripts de diagnostic : Plutôt que d'afficher des identifiants numériques sans
signification apparente, NLS_COLLATION_NAME permet de présenter des noms explicites de collations, tels que 'FRENCH_M', 'BINARY_CI', ou 'GENERIC_M_AI', facilitant ainsi
les revues de configuration.
- Elle n'est disponible qu'à partir de la version 12.2 d'Oracle : Avant Oracle 12c Release 2, les collations n'étaient pas prises en charge au
niveau des colonnes. Cette fonction n'existe donc pas dans les versions antérieures, et son utilisation dans ces environnements provoquera une erreur de compilation.
- La fonction s'inscrit dans la stratégie de prise en charge des collations personnalisées : Oracle 12.2 a introduit le support de collations
spécifiques au niveau des colonnes et des expressions. NLS_COLLATION_NAME permet donc aux développeurs de tracer précisément quelle collation est en vigueur et d'adapter
leurs traitements en conséquence.
- Elle peut servir dans des scripts automatisés de vérification ou migration : Lors de la migration de bases de données ou d'audits linguistiques,
cette fonction permet de générer des rapports automatisés identifiant les noms des collations utilisées. Cela peut être essentiel pour garantir la cohérence dans un
environnement multilingue ou internationalisé.
- Elle évite les erreurs d'interprétation sur les comparaisons linguistiques : Lorsqu'une requête SQL ne retourne pas les résultats attendus à
cause d'un tri ou d'une comparaison, il est possible que la collation soit en cause. Grâce à NLS_COLLATION_NAME, on peut identifier précisément la collation impliquée et
ainsi comprendre le comportement du moteur SQL.
- Elle s'intègre naturellement dans des vues ou des SELECT complexes : Il est possible de l'utiliser directement dans des requêtes sur les vues
système ou les tables utilisateur. Par exemple, on peut afficher les noms de collations des colonnes via :
- SELECT column_name, NLS_COLLATION_NAME(collation) FROM user_tab_columns;
- Cette fonction renforce la transparence dans les systèmes sensibles à la langue : Pour les applications qui doivent respecter les règles de tri
et de comparaison propres à une langue (accentuation, casse, ordre), la connaissance précise de la collation utilisée est cruciale. NLS_COLLATION_NAME permet de lever
toute ambiguïté en rendant cette information accessible et lisible.
Dernière mise à jour : Dimanche, le 29 Juin 2025