Udostępnij przez


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. Funkcja ASCII nie obsługuje zestawów znaków 8-bitowych, takich jak rozszerzone ASCII lub High ASCII.

Przykłady

A. W tym przykładzie przyjęto założenie, że zestaw znaków ASCII i zwraca wartość ASCII dla sześciu 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. W tym przykładzie pokazano, jak 7-bitowa wartość ASCII jest zwracana poprawnie, ale 8-bitowa wartość Extended ASCII nie jest obsługiwana

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

Oto zestaw wyników.

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

Aby sprawdzić, czy wyniki są mapowania na prawidłowy punkt 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            æ