I MariaDB, ASCII()
er en indbygget strengfunktion, der returnerer den numeriske ASCII-værdi af tegnet længst til venstre i dets strengargument.
ASCII()
Funktionen virker kun på 8 bit tegn. For at få koden til multi-byte tegn, brug ORD()
funktion i stedet for.
Syntaks
Syntaksen ser sådan ud:
ASCII(str)
Hvor str
er strengargumentet.
ASCII()
returnerer kun den numeriske ASCII-værdi for længst til venstre karakter af denne streng.
Eksempel
Her er et simpelt eksempel til at demonstrere:
SELECT ASCII('Maria');
Resultat:
+----------------+| ASCII('Maria') |+----------------+| 77 |+----------------+
Dette fortæller os, at det store bogstav M
har den numeriske ASCII-værdi 77
.
Som nævnt, ASCII()
returnerer kun ASCII-værdien for længst til venstre Karakter. Følgende giver derfor det samme resultat:
SELECT ASCII('M');
Resultat:
+-------------+| ASCII('M') |+------------+| 77 |+-------------+
For at demonstrere dette yderligere, lad os få den numeriske ASCII-værdi fra hvert bogstav i ovenstående streng:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Resultat:
+------------+----------------+------- -----+------------+| ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') |+----------------------------- -----------+------------+| 77 | 97 | 114 | 105 | 97 |+------------+------------------- ----+------------+
Skrivar og bogstaver
Store bogstaver har en anden ASCII-værdi end deres små bogstaver.
Eksempel:
SELECT
ASCII('M'),
ASCII('m');
Resultat:
+------------+------------+| ASCII('M') | ASCII('m') |+------------+------------+| 77 | 109 |+---------+------------+
Et databaseeksempel
Her er et eksempel på brug af ASCII()
i en databaseforespørgsel:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Resultat:
+--------+-------------------------------------------+ | Kæledyrsnavn | ASCII-værdi for tegn længst til venstre |+---------+---------------------------------------- --+| Fluffy | 70 || Hent | 70 || Ridse | 83 || Wag | 87 || Tweet | 84 || Fluffy | 70 || Bark | 66 || Mjav | 77 |+---------+--------------------------------------------+
Lyst til højre
Her bruger jeg RIGHT()
funktion til at returnere tegnet længst til højre fra hvert kæledyrsnavn og derefter bruge det igen med ASCII()
funktion for at returnere ASCII-værdien for det pågældende tegn.
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets;
Resultat:
+--------+---------------------+-----------+| Kæledyrsnavn | Tegn længst til højre | ASCII-kode |+--------+----------------------+-----------+| Fluffy | y | 121 || Hent | h | 104 || Ridse | h | 104 || Wag | g | 103 || Tweet | t | 116 || Fluffy | y | 121 || Bark | k | 107 || Mjav | w | 119 |+--------+----------------------+-----------+Tomme strenge
Angivelse af en tom streng resulterer i
0
bliver returneret.SELECT ASCII('');
Resultat:
+------------+| ASCII('') |+------------+| 0 |+-----------+Nul-værdier
Giver
null
resulterer inull
bliver returneret.SELECT ASCII(null);
Resultat:
+--------------+| ASCII(nul) |+-------------+| NULL |+-------------+