sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona ASCII() en MariaDB

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