En MariaDB, ASCII()
es una función de cadena incorporada que devuelve el valor ASCII numérico del carácter más a la izquierda de su argumento de cadena.
El ASCII()
La función solo funciona en caracteres de 8 bits. Para obtener el código de caracteres de varios bytes, utilice ORD()
en su lugar.
Sintaxis
La sintaxis es así:
ASCII(str)
Donde str
es el argumento de cadena.
ASCII()
devolverá el valor ASCII numérico de solo el más a la izquierda carácter de esta cadena.
Ejemplo
Aquí hay un ejemplo simple para demostrarlo:
SELECT ASCII('Maria');
Resultado:
+----------------+ | ASCII('Maria') | +----------------+ | 77 | +----------------+
Esto nos dice que la letra mayúscula M
tiene el valor ASCII numérico de 77
.
Como se mencionó, ASCII()
solo devuelve el valor ASCII del más a la izquierda personaje. Por lo tanto, lo siguiente produce el mismo resultado:
SELECT ASCII('M');
Resultado:
+------------+ | ASCII('M') | +------------+ | 77 | +------------+
Para demostrar esto aún más, obtengamos el valor ASCII numérico de cada letra en la cadena anterior:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Resultado:
+------------+------------+------------+------------+------------+ | ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') | +------------+------------+------------+------------+------------+ | 77 | 97 | 114 | 105 | 97 | +------------+------------+------------+------------+------------+
Sensibilidad de mayúsculas y minúsculas
Las letras mayúsculas tienen un valor ASCII diferente al de sus equivalentes en minúsculas.
Ejemplo:
SELECT
ASCII('M'),
ASCII('m');
Resultado:
+------------+------------+ | ASCII('M') | ASCII('m') | +------------+------------+ | 77 | 109 | +------------+------------+
Un ejemplo de base de datos
Aquí hay un ejemplo del uso de ASCII()
en una consulta de base de datos:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Resultado:
+---------+-----------------------------------+ | PetName | ASCII value of leftmost character | +---------+-----------------------------------+ | Fluffy | 70 | | Fetch | 70 | | Scratch | 83 | | Wag | 87 | | Tweet | 84 | | Fluffy | 70 | | Bark | 66 | | Meow | 77 | +---------+-----------------------------------+
Carácter más a la derecha
Aquí, uso el RIGHT()
función para devolver el carácter más a la derecha de cada nombre de mascota, y luego usarlo nuevamente con el ASCII()
para devolver el valor ASCII de ese carácter.
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets;
Resultado:
+---------+---------------------+------------+ | PetName | Rightmost character | ASCII code | +---------+---------------------+------------+ | Fluffy | y | 121 | | Fetch | h | 104 | | Scratch | h | 104 | | Wag | g | 103 | | Tweet | t | 116 | | Fluffy | y | 121 | | Bark | k | 107 | | Meow | w | 119 | +---------+---------------------+------------+
Cadenas vacías
Proporcionar una cadena vacía da como resultado 0
siendo devuelto.
SELECT ASCII('');
Resultado:
+-----------+ | ASCII('') | +-----------+ | 0 | +-----------+
Valores nulos
Proporcionar null
da como resultado null
siendo devuelto.
SELECT ASCII(null);
Resultado:
+-------------+ | ASCII(null) | +-------------+ | NULL | +-------------+