MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment ASCII() fonctionne dans MariaDB

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) 

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 le ASCII() 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 donne null être retourné.

SELECT ASCII(null); 

Résultat :

+-------------+| ASCII(null) |+-------------+| NULL |+-------------+