Udostępnij za pomocą


ASCII (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca wartość kodu ASCII najbardziej lewego znaku wyrażenia znakowego.

Transact-SQL konwencje składni

Składnia

ASCII ( character_expression )  

Arguments

character_expression
Wyrażenie typu char lub varchar.

Typy zwracane

int

Uwagi

ASCII oznacza American Standard Code dla Information Interchange. Służy jako standard kodowania znaków na nowoczesnych komputerach. Zobacz sekcję Znaki do druku w ASCII , aby zobaczyć listę znaków ASCII.

ASCII to 7-bitowy zestaw znaków. Rozszerzone ASCII, czyli High ASCII, to 8-bitowy zestaw znaków, który nie jest obsługiwany przez ASCII funkcję.

Przykłady

A. Ten przykład zakłada zestaw znaków ASCII i zwraca ASCII wartość dla 6 znaków.

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];  

Oto zestaw wyników.

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

B. Ten przykład pokazuje, jak 7-bitowa wartość ASCII jest poprawnie zwracana, ale 8-bitowa wartość rozszerzonego ASCII nie jest obsługiwana.

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

Oto zestaw wyników.

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

Aby zweryfikować, czy powyższe wyniki odpowiadają właściwemu punktowi kodu znaku, użyj wartości wyjściowych z funkcją CHAR or NCHAR :

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

Oto zestaw wyników.

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

Z poprzedniego wyniku zwróćmy uwagę, że znak dla punktu kodowego 195 to à , a nie æ. Wynika to z faktu, że funkcja potrafi ASCII odczytać pierwszy strumień 7-bitowy, ale nie ten dodatkowy. Poprawny punkt kodowy dla znaku æ można znaleźć za pomocą UNICODE funkcji, która jest zdolna lub zwraca poprawny punkt kodowy znaku:

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

Oto zestaw wyników.

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

Zobacz także

CHAR (Transact-SQL)
NCHAR (Transact-SQL)
UNICODE (Transact-SQL)
funkcje ciągów (Transact-SQL)