UNISTR (Transact-SQL)
S’applique à : Azure SQL Database
UNISTR
prend en charge les littéraux de chaîne Unicode en vous permettant de spécifier la valeur d’encodage Unicode des caractères dans la chaîne. UNISTR
retourne les caractères Unicode, tels que définis par la norme Unicode, pour l’expression d’entrée.
La séquence d’échappement d’un caractère Unicode peut être spécifiée sous la forme ou \xxxx
\+xxxxxx
, où xxxx
est une valeur de point de code UTF-16 valide et xxxxxx
est une valeur de point de code Unicode valide. Vous pouvez rechercher des valeurs de point de code Unicode dans les graphiques de code Unicode.
Conventions de la syntaxe Transact-SQL
Syntaxe
UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )
Arguments
'character_expression'
Expression de n’importe quel type de caractère, tel que char, nchar, varchar ou nvarchar. Pour les types de données char et varchar , le classement doit être un classement UTF-8 valide.
N’unicode_escape_character'
Caractère unique représentant une séquence d’échappement Unicode définie par l’utilisateur. S’il n’est pas fourni, la valeur par défaut est \
.
Types de retour
Valeur de chaîne dont la longueur et le type dépendent des types d’entrée.
Exemples
R. Utiliser UNISTR et la fonction NCHAR
Les exemples suivants utilisent toutes les UNISTR
fonctions pour effectuer la conversion nécessaire des valeurs Unicode en jeu de caractères de chaîne, afin d’afficher le caractère unicode Visage souriant avec bouche ouverte. Le classement de base de données doit être un classement UTF-8 si l’entrée est de types de données char ou varchar .
Utilisation de UNISTR
et de NCHAR
:
SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);
Cet exemple d’exemple peut également être écrit :
SELECT UNISTR(N'Hello! \D83D\DE00');
SELECT UNISTR(N'Hello! \+01F603');
Voici le jeu de résultats.
-----------
Hello! 😃
B. Utiliser la fonction UNISTR avec un caractère d’échappement défini par l’utilisateur
L’exemple suivant utilise la UNISTR
fonction avec un caractère d’échappement personnalisé pour effectuer la conversion nécessaire de l’Unicode en jeu de caractères de chaîne.
SELECT UNISTR(N'ABC#00C0#0181#0187', '#');
Voici le jeu de résultats.
-----------
ABCÀƁƇ