Freigeben über


UNISTR (Transact-SQL)

Gilt für: Azure SQL-Datenbank

UNISTR bietet Unterstützung für Unicode-Zeichenfolgenliterale, indem Sie den Unicode-Codierungswert von Zeichen in der Zeichenfolge angeben können. UNISTR gibt die Unicode-Zeichen gemäß der Definition des Unicode-Standards für den Eingabeausdruck zurück.

Die Escapesequenz für ein Unicode-Zeichen kann in Form oder \xxxx \+xxxxxxangegeben werden, wobei xxxx es sich um einen gültigen UTF-16-Codepointwert handelt und xxxxxx ein gültiger Unicode-Codepointwert ist. Sie können Unicode-Codepointwerte in den Unicode-Codediagrammen nachschlagen.

Transact-SQL-Syntaxkonventionen

Syntax

UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )

Argumente

"character_expression"

Ein Ausdruck eines beliebigen Zeichentyps, z . B. Char, nchar, varchar oder nvarchar. Bei Char - und Varchar-Datentypen sollte die Sortierung eine gültige UTF-8-Sortierung sein.

N'unicode_escape_character'

Ein einzelnes Zeichen, das eine benutzerdefinierte Unicode-Escapesequenz darstellt. Wenn nicht angegeben, lautet \der Standardwert .

Rückgabetypen

Ein Zeichenfolgenwert, dessen Länge und Typ von den Eingabetypen abhängig sind.

Beispiele

A. Verwenden von UNISTR im Vergleich zur NCHAR-Funktion

In den UNISTR folgenden Beispielen werden alle Funktionen verwendet, um die erforderliche Konvertierung der Unicode-Werte in Zeichenfolgenzeichensatz auszuführen, um das Unicode-Zeichen "Lächelndes Gesicht mit geöffneter Mund" anzuzeigen. Die Datenbanksortierung muss eine UTF-8-Sortierung sein, wenn es sich bei der Eingabe um Zeichen - oder Varchar-Datentypen handelt.

Verwenden von UNISTR und NCHAR :

SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);

Dieses Beispiel kann auch geschrieben werden:

SELECT UNISTR(N'Hello! \D83D\DE00');

SELECT UNISTR(N'Hello! \+01F603');

Hier sehen Sie das Ergebnis.

-----------
Hello! 😃

B. Verwenden der UNISTR-Funktion mit benutzerdefiniertem Escapezeichen

Im folgenden Beispiel wird die UNISTR Funktion mit einem benutzerdefinierten Escapezeichen verwendet, um die erforderliche Konvertierung des Unicode in einen Zeichenfolgenzeichensatz durchzuführen.

SELECT UNISTR(N'ABC#00C0#0181#0187', '#');

Hier sehen Sie das Ergebnis.

-----------
ABCÀƁƇ