Dela via


ASCII (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Returnerar ASCII-kodvärdet för det vänstra tecknet i ett teckenuttryck.

Transact-SQL syntaxkonventioner

Syntax

ASCII ( character_expression )  

Arguments

character_expression

Ett uttryck av typen char eller varchar.

Returtyper

int

Anmärkningar

ASCII står för American Standard Code för Information Interchange. Den fungerar som en teckenkodningsstandard för moderna datorer. Se avsnittet Utskrivbara tecken i ASCII för en lista över ASCII-tecken.

ASCII är en 7-bitars teckenuppsättning. Funktionen ASCII stöder inte 8-bitars teckenuppsättningar som utökad ASCII eller Hög ASCII.

Examples

A. Det här exemplet förutsätter en ASCII-teckenuppsättning och returnerar ASCII-värdet för sex tecken

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

Här är resultatet.

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

B. Det här exemplet visar hur ett 7-bitars ASCII-värde returneras korrekt, men ett 8-bitars utökat ASCII-värde hanteras inte

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

Här är resultatet.

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

Om du vill kontrollera om resultatet mappas till rätt teckenkodpunkt använder du utdatavärdena med CHAR funktionen eller NCHAR :

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

Här är resultatet.

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

Från det föregående resultatet, notera att tecknet för kodpunkt 195 är à och inte æ. Detta beror på att ASCII funktionen kan läsa den första 7-bitars strömmen, men inte den extra biten. Den korrekta kodpunkten för tecken æ kan hittas med funktionen UNICODE , som kan returnera rätt teckenkodpunkt:

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

Här är resultatet.

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