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ÀƁƇ