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. Utökad ASCII eller High ASCII är en 8-bitars teckenuppsättning som inte hanteras av funktionen ASCII .

Examples

A. Detta exempel antar en ASCII-teckenuppsättning och returnerar ASCII värdet för 6 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. Detta exempel visar hur ett 7-bitars ASCII-värde returneras korrekt, men ett 8-bitars Extended ASCII-värde hanteras inte.

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

Här är resultatet.

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

För att verifiera om resultaten ovan motsvarar rätt teckenkodpunkt, använd 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            æ

Se även

CHAR (Transact-SQL)
NCHAR (Transact-SQL)
UNICODE (Transact-SQL)
Strängfunktioner (Transact-SQL)