Compartir vía


ASCII (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric

Devuelve el valor del código ASCII del carácter más a la izquierda de una expresión de caracteres.

Convenciones de sintaxis de Transact-SQL

Sintaxis

ASCII ( character_expression )  

Argumentos

character_expression
Una expresión de tipo char o varchar.

Tipos de valores devueltos

int

Observaciones

ASCII significa American Standard Code for Information Interchange. Actúa como un estándar de codificación de caracteres para los equipos modernos. Para obtener una lista de caracteres ASCII, vea la sección Caracteres imprimibles de ASCII.

ASCII es un juego de caracteres de 7 bits. ASCII extendido o ASCII alto es un juego de caracteres de 8 bits no controlado por la función ASCII.

Ejemplos

A. En este ejemplo se da por supuesto que es un juego de caracteres ASCII y se devuelve el valor ASCII para seis caracteres.

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

Este es el conjunto de resultados.

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

B. En este ejemplo se muestra cómo se devuelve correctamente un valor ASCII de 7 bits, pero no se controla un valor ASCII extendido de 8 bits.

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

Este es el conjunto de resultados.

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

Para comprobar si los resultados anteriores se asignan al punto de código de carácter correcto, use los valores de salida con la función CHAR o NCHAR:

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

Este es el conjunto de resultados.

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

En el resultado anterior, observe que el carácter del punto de código 195 es à y no æ. Esto se debe a que la función ASCII es capaz de leer la primera secuencia de 7 bits, pero no el bit adicional. El punto de código correcto para el carácter æ se puede encontrar mediante la función UNICODE, que es capaz de devolver el punto de código de carácter correcto:

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

Este es el conjunto de resultados.

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

Consulte también

CHAR (Transact-SQL)
NCHAR (Transact-SQL)
UNICODE (Transact-SQL)
String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]