UNICODE |
Code universel |
|---|---|
| SQL Server | Microsoft SQL Server |
Syntaxe
| UNICODE(ncharacter) |
Paramètres
| Nom | Description |
|---|---|
| ncharacter | Ce paramètre permet d'indiquer l'expression à convertir. |
Description
Cette fonction permet d'effectuer la conversion de caractère simple en code UNICODE.
Remarques
- Retourne le code Unicode du premier caractère : La fonction UNICODE() retourne un entier représentant le code Unicode du premier caractère de l'expression fournie. Cela permet de connaître la valeur numérique interne utilisée pour encoder un caractère en UTF-16 dans SQL Server.
- Utile pour le traitement de chaînes multilingues : Elle est particulièrement utile dans les bases de données entreposant du texte en plusieurs langues. Elle permet de détecter des caractères spécifiques ou de faire des traitements en fonction du script utilisé (latin, cyrillique, arabe,...).
- Fonction complémentaire de NCHAR() : UNICODE() peut être vu comme l'inverse de NCHAR(). Tandis que NCHAR(233) renvoie le caractère Unicode associé à 233, UNICODE('é') renvoie 233. Cela permet de faire des allers-retours entre codes numériques et caractères.
- Ignore les caractères suivants dans la chaîne de caractères : Même si vous passez une chaîne de plusieurs caractères, seul le premier caractère sera pris en compte. Par exemple, UNICODE('ABC') renverra uniquement le code Unicode du 'A', soit 65, et ignorera les autres.
- Gère correctement les caractères spéciaux et accentués : Contrairement à la fonction ASCII() ne retournant que des codes dans l'intervalle 0 à 255, UNICODE() permet de gérer des caractères accentués, asiatiques, et autres symboles Unicode au-delà de cet intervalle. Cela permet une prise en charge plus complète de l'internationalisation.
- Doit être utilisé avec des chaînes Unicode (préfixe N) : Il est recommandé d'utiliser la fonction avec des chaînes Unicode explicites, c'est-à-dire préfixées par N (ex. N'é'). Sinon, SQL Server risque de convertir la chaîne selon le jeu de caractères par défaut, ce qui peut produire des résultats inattendus.
- Retourne NULL si l'expression est NULL ou vide : Si l'expression fournie est NULL, alors UNICODE() retourne également NULL. De même, si une chaîne de caractères vide est fournie (''), SQL Server retournera aussi NULL car il n'y a pas de caractère à évaluer.
- Utile pour des tris ou des comparaisons avancées : La fonction peut servir dans des requêtes de tri ou de filtrage personnalisées, par exemple pour détecter des caractères non latins dans un champ. On peut également l'utiliser pour implémenter des règles de validation sur l'entrée utilisateur en fonction de l'intervalle Unicode.
Voir également
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Dimanche, le 7 juin 2015