Delen via


ASCII (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Geeft de ASCII-codewaarde terug van het meest linkse teken van een tekenexpressie.

Transact-SQL syntaxis-conventies

Syntaxis

ASCII ( character_expression )  

Arguments

character_expression

Een uitdrukking van type char of varchar.

Retourtypen

int

Opmerkingen

ASCII staat voor American Standard Code voor Information Interchange. Het dient als een tekencoderingsstandaard voor moderne computers. Zie de sectie Afdrukbare karakters van ASCII voor een lijst van ASCII-personages.

ASCII is een 7-bits tekenset. De ASCII functie biedt geen ondersteuning voor een 8-bits tekensets, zoals uitgebreide ASCII of High ASCII.

Voorbeelden

Eén. In dit voorbeeld wordt uitgegaan van een ASCII-tekenset en wordt de ASCII-waarde voor zes tekens geretourneerd

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

Hier is het resultatenoverzicht.

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

B. In dit voorbeeld ziet u hoe een 7-bits ASCII-waarde correct wordt geretourneerd, maar een 8-bits uitgebreide ASCII-waarde niet wordt verwerkt

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

Hier is het resultatenoverzicht.

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

Als u wilt controleren of de resultaten zijn toegewezen aan het juiste tekencodepunt, gebruikt u de uitvoerwaarden met de CHAR of NCHAR functie:

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

Hier is het resultatenoverzicht.

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

Uit het vorige resultaat blijkt dat het teken voor codepunt 195 Ã is en niet æ. Dit komt doordat de ASCII functie in staat is de eerste 7-bits stroom te lezen, maar niet de extra bit. Het juiste codepunt voor het teken æ kan worden gevonden met behulp van de UNICODE functie, die in staat is het juiste tekencodepunt terug te geven:

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

Hier is het resultatenoverzicht.

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