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 | +-------------+