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. Uitgebreide ASCII of High ASCII is een 8-bits tekenset die niet door de ASCII functie wordt afgehandeld.

Voorbeelden

Eén. Dit voorbeeld gaat uit van een ASCII-tekenset en geeft de ASCII waarde voor 6 tekens terug.

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. Dit voorbeeld laat zien hoe een 7-bits ASCII-waarde correct wordt teruggegeven, maar een 8-bits uitgebreide ASCII-waarde niet wordt behandeld.

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

Hier is het resultatenoverzicht.

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

Om te controleren of de bovenstaande resultaten overeenkomen met het juiste tekencodepunt, gebruik je de uitvoerwaarden met de CHAR of-functie NCHAR :

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            æ

Zie ook

CHAR (Transact-SQL)
NCHAR (Transact-SQL)
UNICODE (Transact-SQL)
tekenreeksfuncties (Transact-SQL)