Dans MariaDB, ASCII()
est une fonction de chaîne intégrée qui renvoie la valeur ASCII numérique du caractère le plus à gauche de son argument de chaîne.
Le ASCII()
la fonction ne fonctionne que sur les caractères 8 bits. Pour obtenir le code des caractères multi-octets, utilisez le ORD()
fonction à la place.
Syntaxe
La syntaxe ressemble à ceci :
ASCII(str)
Où str
est l'argument de la chaîne.
ASCII()
renverra la valeur numérique ASCII de seulement le plus à gauche caractère de cette chaîne.
Exemple
Voici un exemple simple pour illustrer :
SELECT ASCII('Maria');
Résultat :
+----------------+| ASCII('Marie') |+----------------+| 77 |+----------------+
Cela nous indique que la lettre majuscule M
a la valeur numérique ASCII de 77
.
Comme mentionné, ASCII()
ne renvoie que la valeur ASCII de le plus à gauche personnage. Par conséquent, ce qui suit produit le même résultat :
SELECT ASCII('M');
Résultat :
+------------+| ASCII('M') |+------------+| 77 |+------------+
Pour illustrer cela davantage, récupérons la valeur numérique ASCII de chaque lettre de la chaîne ci-dessus :
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Résultat :
+------------+------------+------------+------- -----+------------+| ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') |+------------+------------+------------+--- ---------+------------+| 77 | 97 | 114 | 105 | 97 |+------------+------------+------------+-------- ----+------------+
Sensibilité à la casse
Les lettres majuscules ont une valeur ASCII différente de leurs équivalents minuscules.
Exemple :
SELECT
ASCII('M'),
ASCII('m');
Résultat :
+------------+------------+| ASCII('M') | ASCII('m') |+------------+------------+| 77 | 109 |+------------+------------+
Un exemple de base de données
Voici un exemple d'utilisation de ASCII()
dans une requête de base de données :
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Résultat :
+---------+-----------------------------------+ | NomAnimal | Valeur ASCII du caractère le plus à gauche |+--------+--------------------------------- --+| Moelleux | 70 || Récupérer | 70 || gratter | 83 || remuer | 87 || Tweeter | 84 || Moelleux | 70 || Écorce | 66 || Miaou | 77 |+---------+-----------------------------------+Caractère le plus à droite
Ici, j'utilise le
RIGHT()
fonction pour renvoyer le caractère le plus à droite de chaque nom d'animal, puis l'utiliser à nouveau avec leASCII()
fonction pour renvoyer la valeur ASCII pour ce caractère.USE PetHouse; SELECT PetName, RIGHT(PetName, 1) 'Rightmost character', ASCII(RIGHT(PetName, 1)) 'ASCII code' FROM Pets;
Résultat :
+---------+---------------------+------------+| NomAnimal | Caractère le plus à droite | Code ASCII |+---------+---------------------+------------+| Moelleux | y | 121 || Récupérer | h | 104 || gratter | h | 104 || remuer | g | 103 || Tweeter | t | 116 || Moelleux | y | 121 || Écorce | k | 107 || Miaou | w | 119 |+---------+---------------------+------------+Chaînes vides
Fournir une chaîne vide donne
0
être retourné.SELECT ASCII('');
Résultat :
+-----------+| ASCII('') |+-----------+| 0 |+-----------+Valeurs nulles
Fournir
null
donnenull
être retourné.SELECT ASCII(null);
Résultat :
+-------------+| ASCII(null) |+-------------+| NULL |+-------------+