Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Fonctionnement de la fonction NCHAR() dans SQL Server (T-SQL)

Dans SQL Server, vous pouvez utiliser T-SQL NCHAR() fonction pour renvoyer le caractère Unicode en fonction du code entier spécifié.

Vous fournissez le code entier comme argument et la fonction renverra le caractère Unicode tel que défini par la norme Unicode.

Syntaxe

La syntaxe ressemble à ceci :

NCHAR ( integer_expression )

Où integer_expression est l'entier pour lequel vous souhaitez renvoyer le caractère Unicode.

Exemple 1 - Utilisation de base

Voici un exemple de base pour illustrer :

SELECT NCHAR(123) AS Result;

Résultat :

+----------+
| Result   |
|----------|
| {        |
+----------+

Exemple 2 – Hors plage

La documentation Microsoft indique ce qui suit à propos de la plage d'entiers acceptables :

Lorsque le classement de la base de données ne contient pas l'indicateur de caractère supplémentaire (SC), il s'agit d'un entier positif compris entre 0 et 65535 (0 à 0xFFFF). Si une valeur en dehors de cette plage est spécifiée, NULL est renvoyé. Pour plus d'informations sur les caractères supplémentaires, consultez Collation et prise en charge d'Unicode.

Lorsque le classement de la base de données prend en charge l'indicateur SC, il s'agit d'un entier positif compris entre 0 et 1114111 (0 à 0x10FFFF). Si une valeur en dehors de cette plage est spécifiée, NULL est renvoyé.

Voici un exemple de ce qui se passe si nous sortons de la plage de classement de la base de données.

SELECT NCHAR(65536) AS Result;

Résultat :

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Dans ce cas, la base de données ne contient pas l'indicateur de caractère supplémentaire (SC), et donc 65536 est hors plage, et NULL est renvoyé pour cette valeur.

Types de retour

Il convient également de noter que le type de retour de cette fonction est nchar(1) lorsque la base de données par défaut ne prend pas en charge les caractères supplémentaires, et nvarchar(2) quand c'est le cas.