Condividi tramite


UNISTR (Transact-SQL)

Si applica a: Database SQL di Azure

UNISTR fornisce il supporto per i valori letterali stringa Unicode consentendo di specificare il valore di codifica Unicode dei caratteri nella stringa. UNISTR restituisce i caratteri Unicode, come definito dallo standard Unicode, per l'espressione di input.

La sequenza di escape per un carattere Unicode può essere specificata sotto forma di \xxxx o , dove xxxx è un valore di punto di codice UTF-16 valido ed xxxxxx è un valore di punto di \+xxxxxxcodice Unicode valido. È possibile cercare i valori dei punti di codice Unicode nei grafici di codice Unicode.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

'character_expression'

Espressione di qualsiasi tipo di carattere, ad esempio char, nchar, varchar o nvarchar. Per i tipi di dati char e varchar , le regole di confronto devono essere valide per UTF-8.

N'unicode_escape_character'

Carattere singolo che rappresenta una sequenza di escape Unicode definita dall'utente. Se non viene specificato, il valore predefinito è \.

Tipi restituiti

Valore stringa la cui lunghezza e tipo dipendono dai tipi di input.

Esempi

R. Usare UNISTR e la funzione NCHAR

Gli esempi seguenti usano tutte le UNISTR funzioni per eseguire la conversione necessaria dei valori Unicode nel set di caratteri stringa, per visualizzare il carattere Unicode Sorridente viso con bocca aperta. Le regole di confronto del database devono essere regole di confronto UTF-8 se l'input è di tipi di dati char o varchar .

Uso di UNISTR e NCHAR:

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

Questo esempio di esempio può essere scritto anche:

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

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

Il set di risultati è il seguente.

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

B. Usare la funzione UNISTR con carattere di escape definito dall'utente

Nell'esempio seguente viene utilizzata la UNISTR funzione con un carattere di escape personalizzato per eseguire la conversione necessaria di Unicode in un set di caratteri stringa.

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

Il set di risultati è il seguente.

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