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
0se vrací.SELECT ASCII('');Výsledek:
+------------+| ASCII('') |+-----------+| 0 |+-----------+Nulové hodnoty
Poskytování
nullvýsledkem jenullse vrací.SELECT ASCII(null);Výsledek:
+--------------+| ASCII(null) |+-------------+| NULL |+-------------+