ASCII (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric

Retourne la valeur du code ASCII du caractère situé le plus à gauche dans une expression de caractères.

Conventions de la syntaxe Transact-SQL

Syntaxe

ASCII ( character_expression )  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez Versions antérieures de la documentation.

Arguments

expression_caractère
Expression de type char ou varchar.

Types de retour

int

Notes

ASCII est l’abréviation d’American Standard Code for Information Interchange. Il s’agit d’une norme de codage de caractères pour les ordinateurs modernes. Consultez la section Caractères imprimables de la rubrique ASCII pour obtenir la liste des caractères ASCII.

Le code ASCII est un jeu de caractères 7 bits. Le code ASCII étendu est un jeu de caractères 8 bits qui n’est pas géré par la fonction ASCII.

Exemples

R. Cet exemple considère un jeu de caractères ASCII et retourne la valeur ASCII de 6 caractères.

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

Voici le jeu de résultats obtenu.

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

B. Cet exemple montre comment une valeur ASCII 7 bits est retournée correctement, tandis qu’une valeur ASCII étendue 8 bits n’est pas gérée.

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

Voici le jeu de résultats obtenu.

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

Pour vérifier si les résultats ci-dessus sont mappés au point de code de caractère correct, utilisez les valeurs de sortie avec la fonction CHAR ou NCHAR :

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

Voici le jeu de résultats obtenu.

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

À partir du résultat précédent, remarquez que le caractère du point de code 195 est à et non æ. Cela est dû au fait que la fonction ASCII est capable de lire le premier flux de 7 bits, mais pas le bit supplémentaire. Le point de code correct pour le caractère æ se trouve à l’aide de la fonction UNICODE, qui est capable de retourner le point de code de caractère correct :

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

Voici le jeu de résultats obtenu.

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

Voir aussi

CHAR (Transact-SQL)
NCHAR (Transact-SQL)
UNICODE (Transact-SQL)
Fonctions de chaîne (Transact-SQL)