V MariaDB, ASCII()
je vestavěná řetězcová funkce, která vrací číselnou hodnotu ASCII znaku zcela vlevo v argumentu řetězce.
ASCII()
funkce funguje pouze na 8bitových znacích. Chcete-li získat kód pro vícebajtové znaky, použijte ORD()
místo toho.
Syntaxe
Syntaxe vypadá takto:
ASCII(str)
Kde str
je argument řetězce.
ASCII()
vrátí číselnou hodnotu ASCII pouze zcela vlevo znak tohoto řetězce.
Příklad
Zde je jednoduchý příklad k demonstraci:
SELECT ASCII('Maria');
Výsledek:
+-----------------+| ASCII('Maria') |+-----------------+| 77 |+----------------+
To nám říká, že velké písmeno M
má číselnou hodnotu ASCII 77
.
Jak již bylo zmíněno, ASCII()
vrátí pouze hodnotu ASCII zcela vlevo charakter. Proto následující způsobí stejný výsledek:
SELECT ASCII('M');
Výsledek:
+-------------+| ASCII('M') |+-------------+| 77 |+------------+
Abychom to dále demonstrovali, získáme číselnou hodnotu ASCII z každého písmene ve výše uvedeném řetězci:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Výsledek:
+------------+------------+------------+------- -----+------------+| ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') |+------------+------------+------------+--- ---------+------------+| 77 | 97 | 114 | 105 | 97 |+------------+------------+------------+-------- ----+------------+
Rozlišovat malá a velká písmena
Velká písmena mají jinou hodnotu ASCII než jejich malé ekvivalenty.
Příklad:
SELECT
ASCII('M'),
ASCII('m');
Výsledek:
+------------+------------+| ASCII('M') | ASCII('m') |+------------+------------+| 77 | 109 |+------------+------------+
Příklad databáze
Zde je příklad použití ASCII()
v databázovém dotazu:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Výsledek:
+---------+-----------------------------------+ | Jméno mazlíčka | Hodnota ASCII znaku zcela vlevo |+---------+--------------------------------- --+| Načechraný | 70 || Načíst | 70 || Škrábnout | 83 || Wag | 87 || Tweet | 84 || Načechraný | 70 || Kůra | 66 || Mňau | 77 |+---------+-----------------------------------+Znak zcela vpravo
Zde používám
RIGHT()
funkci vrátit znak úplně vpravo z každého jména domácího mazlíčka a poté jej znovu použít sASCII()
funkce vrátí hodnotu ASCII pro daný znak.USE PetHouse; SELECT PetName, RIGHT(PetName, 1) 'Rightmost character', ASCII(RIGHT(PetName, 1)) 'ASCII code' FROM Pets;
Výsledek:
+---------+---------------------+------------+| Jméno mazlíčka | Znak zcela vpravo | ASCII kód |+---------+---------------------+------------+| Načechraný | y | 121 || Načíst | h | 104 || Škrábnout | h | 104 || Wag | g | 103 || Tweet | t | 116 || Načechraný | y | 121 || Kůra | k | 107 || Mňau | w | 119 |+---------+---------------------+------------+Prázdné řetězce
Poskytnutí prázdného řetězce má za následek
0
se vrací.SELECT ASCII('');
Výsledek:
+------------+| ASCII('') |+-----------+| 0 |+-----------+Nulové hodnoty
Poskytování
null
výsledkem jenull
se vrací.SELECT ASCII(null);
Výsledek:
+--------------+| ASCII(null) |+-------------+| NULL |+-------------+