W MariaDB, ASCII() to wbudowana funkcja łańcuchowa, która zwraca wartość numeryczną ASCII lewego skrajnego znaku argumentu łańcuchowego.
ASCII() funkcja działa tylko na 8-bitowych znakach. Aby uzyskać kod dla znaków wielobajtowych, użyj ORD() zamiast tego.
Składnia
Składnia wygląda tak:
ASCII(str)
Gdzie str jest argumentem łańcuchowym.
ASCII() zwróci wartość liczbową ASCII tylko lewego znak tego ciągu.
Przykład
Oto prosty przykład do zademonstrowania:
SELECT ASCII('Maria'); Wynik:
+----------------+
| ASCII('Maria') |
+----------------+
| 77 |
+----------------+
To mówi nam, że wielka litera M ma wartość numeryczną ASCII 77 .
Jak wspomniano, ASCII() zwraca tylko wartość ASCII lewej postać. Dlatego poniższe daje ten sam wynik:
SELECT ASCII('M'); Wynik:
+------------+
| ASCII('M') |
+------------+
| 77 |
+------------+ Aby to dalej zademonstrować, weźmy liczbową wartość ASCII z każdej litery w powyższym ciągu:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a'); Wynik:
+------------+------------+------------+------------+------------+
| ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') |
+------------+------------+------------+------------+------------+
| 77 | 97 | 114 | 105 | 97 |
+------------+------------+------------+------------+------------+ Wrażliwość na wielkość liter
Wielkie litery mają inną wartość ASCII niż ich małe odpowiedniki.
Przykład:
SELECT
ASCII('M'),
ASCII('m'); Wynik:
+------------+------------+
| ASCII('M') | ASCII('m') |
+------------+------------+
| 77 | 109 |
+------------+------------+ Przykład bazy danych
Oto przykład użycia ASCII() w zapytaniu do bazy danych:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets; Wynik:
+---------+-----------------------------------+ | PetName | ASCII value of leftmost character | +---------+-----------------------------------+ | Fluffy | 70 | | Fetch | 70 | | Scratch | 83 | | Wag | 87 | | Tweet | 84 | | Fluffy | 70 | | Bark | 66 | | Meow | 77 | +---------+-----------------------------------+
Postać z prawej strony
Tutaj używam RIGHT() funkcja zwracająca skrajny prawy znak z każdego imienia zwierzaka, a następnie użyj go ponownie z ASCII() funkcja zwracająca wartość ASCII dla tego znaku.
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets; Wynik:
+---------+---------------------+------------+ | PetName | Rightmost character | ASCII code | +---------+---------------------+------------+ | Fluffy | y | 121 | | Fetch | h | 104 | | Scratch | h | 104 | | Wag | g | 103 | | Tweet | t | 116 | | Fluffy | y | 121 | | Bark | k | 107 | | Meow | w | 119 | +---------+---------------------+------------+
Puste ciągi
Dostarczenie pustego ciągu daje w wyniku 0 zostanie zwrócony.
SELECT ASCII(''); Wynik:
+-----------+
| ASCII('') |
+-----------+
| 0 |
+-----------+ Wartości puste
Podanie null wyniki w null zostanie zwrócony.
SELECT ASCII(null); Wynik:
+-------------+ | ASCII(null) | +-------------+ | NULL | +-------------+