NLS_COLLATION_ID |
Identificateur de collation national |
| Oracle Database SQL |
Oracle 12c Release 2 (12.2) ou supérieure |
Syntaxe
Paramètres
| Nom |
Description |
| expr |
Ce paramètre permet d'indiquer le nom de la collation NLS pour laquelle on souhaite obtenir l'identifiant numérique correspondant. Le nom passé doit être une chaîne de caractères valide représentant une collation supportée par Oracle, telle que 'BINARY_AI' ou 'FRENCH_M'. |
Description
Cette fonction permet de retourner l'identifiant numérique (ID) associé à un nom de collation NLS donné. Elle est utile pour obtenir le code interne correspondant à une collation particulière définie dans Oracle, souvent utilisée dans les comparaisons linguistiques et les tris personnalisés.
Remarques
- Fonction de conversion symbolique vers numérique : La fonction NLS_COLLATION_ID permet de convertir un nom de collation NLS, comme 'BINARY_AI', en un
identifiant numérique interne utilisé par Oracle. Cela facilite le traitement ou l'entreposage des métadonnées de collation dans des scripts ou des systèmes reposant sur
des ID numériques plutôt que des chaînes.
- Utile pour la logique conditionnelle ou dynamique : Lorsqu'on veut gérer dynamiquement plusieurs collations dans un code SQL ou PL/SQL, cette fonction
permet de comparer ou de brancher les traitements selon l'ID retourné, ce qui est plus efficace que de comparer des chaînes de caractères.
- Complémentaire de NLS_COLLATION_NAME : Elle a un pendant inverse, la fonction NLS_COLLATION_NAME, qui permet de retrouver le nom d'une collation à partir
de son ID numérique. Ensemble, ces fonctions facilitent la conversion bidirectionnelle entre nom et identifiant, comme dans une table de correspondance.
- Fonction purement métadonnée : NLS_COLLATION_ID ne manipule ni données utilisateur ni contenu réel des colonnes : elle s'applique uniquement aux
noms de collations et retourne des métadonnées. Cela signifie qu'elle peut être utilisée sans accéder à des tables ou colonnes spécifiques.
- Disponible uniquement depuis Oracle 12.2 : La fonction n'existe que depuis Oracle Database 12c Release 2 (12.2). Elle n'est donc pas compatible avec les
versions antérieures, ce qui impose une vérification de version avant son intégration dans des scripts portables.
- Compatible avec les noms de collations personnalisées : Oracle permet à partir de 12.2 de créer ses propres collations. NLS_COLLATION_ID permet aussi
de récupérer les identifiants numériques de ces collations définies par l'utilisateur, et pas uniquement ceux fournis par défaut par Oracle.
- Les valeurs retournées ne sont pas normalisées entre bases : L'ID retourné par NLS_COLLATION_ID peut différer d'un environnement Oracle à un autre si
les collations sont modifiées, ajoutées ou supprimées. Il est donc préférable de stocker les noms plutôt que les ID dans les configurations portables.
- Peut être utilisé dans des vues ou expressions SQL : La fonction peut être appelée dans des requêtes SELECT, notamment pour annoter ou classifier des
données selon leur collation d'origine, ou pour générer des rapports sur les collations utilisées dans un schéma donné.
- Supporte uniquement les chaînes valides : Le paramètre expr doit contenir un nom de collation reconnu. Si une chaîne invalide est fournie (exemple :
faute de frappe, collation inexistante), la fonction lèvera une erreur ORA-12723 signalant une collation inconnue.
- Pratique pour l'audit des paramètres linguistiques : Dans les systèmes multilingues ou multirégionaux, NLS_COLLATION_ID peut être utilisée pour auditer
les paramètres linguistiques ou pour vérifier la cohérence des collations utilisées dans un environnement de base de données.
- Participe à la configuration de l'internationalisation (i18n) : La gestion correcte des collations est essentielle dans les applications supportant
plusieurs langues ou règles culturelles de tri. Cette fonction aide à automatiser certains aspects de cette internationalisation, en identifiant précisément la logique
de tri appliquée.
- Utilisation possible dans des procédures PL/SQL : Elle peut être intégrée dans des procédures ou fonctions stockées, afin d'effectuer des vérifications,
des conversions ou des logs sur les collations utilisées, en interaction avec des tables système comme NLS_COLLATIONS.
Dernière mise à jour : Dimanche, le 29 Juin 2025