Caractères supplémentaires
Les chaînes nchar et nvarchar stockent chaque caractère sous forme d'une valeur 16 bits dans un codage appelé UCS-2. Ce codage, défini pour les versions Unicode antérieures à 1996, prend en charge des caractères dans la plage U+0000 à U+FFFF. Les versions plus récentes d'Unicode ont défini d'autres caractères dans la plage U+10000 à U+10FFFF appelés caractères supplémentaires . Ces caractères sont stockés comme des paires de valeurs 16 bits, appelées paires de substitution, dans un encodage UTF-16. Tous les nouveaux classements de niveau _100 prennent en charge le tri linguistique avec les caractères supplémentaires.
Si vous utilisez des caractères supplémentaires, tenez compte des contraintes suivantes :
Les caractères supplémentaires ne peuvent être utilisés dans des opérations de tri et de comparaison que sur les versions de classement 90 ou versions supérieures.
Étant donné que les caractères supplémentaires sont stockés sous la forme de valeurs 16 bits, la fonction LEN() retourne la valeur 2 pour chaque caractère supplémentaire contenu dans la chaîne d'arguments. De même, les fonctions CHARINDEX et PATINDEX interprètent mal l'occurrence des caractères supplémentaires dans les chaînes de caractères.
Les fonctions LEFT, RIGHT, SUBSTRING, STUFF et REVERSE peuvent fractionner toute paire de caractères de substitution et produire des résultats inattendus.
Les caractères supplémentaires ne sont pas utilisables avec les caractères génériques suivants : trait de soulignement (_), pourcentage (%) et signe insertion (^).
Les caractères supplémentaires ne sont pas utilisables dans les métadonnées, telles que les noms d'objets de base de données.
Voir aussi