Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come restituire il valore Unicode per un determinato carattere in SQL Server – UNICODE()

Una delle funzioni incluse in T-SQL è UNICODE() funzione. È possibile utilizzare questa funzione con SQL Server (e Azure) per restituire il valore Unicode di un determinato carattere.

Questa funzione funziona in modo simile a ASCII() funzione, tranne per il fatto che restituisce il valore Unicode.

Sintassi

Ecco la sintassi ufficiale:

UNICODE ( 'ncharacter_expression' )

Dove ncharacter_expression è un ncharnvarchar espressione per la quale vuoi il valore Unicode.

Esempio

Quindi, ad esempio, se volessimo scoprire il valore Unicode per il segno dell'euro, potremmo farlo:

SELECT UNICODE('€');

Risultato:

8364

Questo risultato ci mostra che il valore Unicode per il segno dell'euro è 8364.

Unicode vs ASCII

Il UNICODE() la funzione funziona in modo simile a ASCII() funzione, ma con l'eccezione che restituisce il valore Unicode anziché il valore ASCII.

Si noti che, per i primi 128 caratteri, i valori ASCII e Unicode sono gli stessi e, pertanto, queste due funzioni produrranno gli stessi risultati per i primi 128 caratteri. Tuttavia, il UNICODE() funzionerà con una gamma di caratteri molto più ampia, a causa della limitazione di 128 caratteri dello standard ASCII.

Ecco un esempio di ASCII() e UNICODE() funzioni affiancate:

SELECT UNICODE('A') AS Unicode, ASCII('A') AS ASCII;

Risultato:

Unicode  ASCII
-------  -----
65       65

Quindi possiamo vedere che hanno restituito lo stesso risultato in questo caso. Ciò è dovuto al fatto che la lettera A rientra nell'intervallo dei codici ASCII (e quindi è incluso anche nell'intervallo Unicode).