Condividi tramite


ASCII (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

Restituisce il codice ASCII del carattere più a sinistra in un'espressione di caratteri.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

ASCII ( character_expression )  

Argomenti

character_expression

Espressione di tipo char o varchar.

Tipi restituiti

int

Osservazioni:

ASCII è l'acronimo di American Standard Code for Information Interchange. Si tratta di uno standard di codifica dei caratteri per i computer moderni. Per un elenco dei caratteri ASCII, vedere la sezione Printable characters (Caratteri stampabili) in ASCII.

ASCII è un set di caratteri a 7 bit. La ASCII funzione non supporta set di caratteri a 8 bit come ASCII esteso o High ASCII.

Esempi

R. In questo esempio si presuppone un set di caratteri ASCII e restituisce il valore ASCII per sei caratteri

SELECT ASCII('A') AS A, ASCII('B') AS B,   
ASCII('a') AS a, ASCII('b') AS b,  
ASCII(1) AS [1], ASCII(2) AS [2];  

Il set di risultati è il seguente.

A           B           a           b           1           2  
----------- ----------- ----------- ----------- ----------- -----------  
65          66          97          98          49          50  

B. In questo esempio viene illustrato come viene restituito correttamente un valore ASCII a 7 bit, ma non viene gestito un valore ASCII esteso a 8 bit

SELECT ASCII('P') AS [ASCII], ASCII('æ') AS [Extended_ASCII];

Il set di risultati è il seguente.

ASCII       Extended_ASCII
----------- --------------
80          195

Per verificare se i risultati eseguono il mapping al punto di codice carattere corretto, usare i valori di output con la CHAR funzione o NCHAR :

SELECT NCHAR(80) AS [CHARACTER], NCHAR(195) AS [CHARACTER];

Il set di risultati è il seguente.

CHARACTER CHARACTER
--------- ---------
P         Ã

Dal risultato precedente si noti che il carattere per il punto di codice 195 è Ã e non æ. Ciò è dovuto al fatto che la funzione ASCII è in grado di leggere il primo flusso a 7 bit, ma non il bit aggiuntivo. Il punto di codice corretto per i carattere æ può essere trovato usando la funzione UNICODE, che è in grado di restituire il punto di codice carattere corretto:

SELECT UNICODE('æ') AS [Extended_ASCII], NCHAR(230) AS [CHARACTER];

Il set di risultati è il seguente.

Extended_ASCII CHARACTER
-------------- ---------
230            æ