В MariaDB, ASCII()
е вградена низова функция, която връща числовата ASCII стойност на най-левия символ на неговия низ аргумент.
ASCII()
функцията работи само с 8 битови символи. За да получите кода за многобайтови знаци, използвайте ORD()
функция вместо това.
Синтаксис
Синтаксисът е така:
ASCII(str)
Където str
е аргументът низ.
ASCII()
ще върне цифровата ASCII стойност само на най-лявата символ на този низ.
Пример
Ето един прост пример за демонстрация:
SELECT ASCII('Maria');
Резултат:
+----------------+| ASCII('Мария') |+----------------+| 77 |+----------------+
Това ни казва, че главната буква M
има числова ASCII стойност на 77
.
Както споменахме, ASCII()
връща само ASCII стойността на най-лявата характер. Следователно, следното дава същия резултат:
SELECT ASCII('M');
Резултат:
+-----------+| ASCII('M') |+-----------+| 77 |+-----------+
За да демонстрираме това допълнително, нека получим числовата ASCII стойност от всяка буква в горния низ:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Резултат:
+------------+------------+-----------+------- -----+-----------+| ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') |+------------+------------+------------+--- ---------+-----------+| 77 | 97 | 114 | 105 | 97 |+------------+------------+-----------+-------- ----+-----------+
Чувствителност на регистрите
Главните букви имат различна ASCII стойност от техните еквиваленти с малки букви.
Пример:
SELECT
ASCII('M'),
ASCII('m');
Резултат:
+------------+------------+| ASCII('M') | ASCII('m') |+------------+-----------+| 77 | 109 |+-----------+------------+
Пример за база данни
Ето пример за използване на ASCII()
в заявка към база данни:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Резултат:
+--------+-----------------------------------+ | Име на домашни любимци | ASCII стойност на най-левия знак |+--------+-------------------------------- --+| Пухкави | 70 || Вземи | 70 || Надраскване | 83 || Размахване | 87 || Tweet | 84 || Пухкави | 70 || Кора | 66 || Мяу | 77 |+--------+-----------------------------------+предварително>Най-десният знак
Тук използвам
RIGHT()
функция за връщане на най-десния знак от всяко име на домашен любимец и след това го използвайте отново сASCII()
функция за връщане на ASCII стойността за този знак.USE PetHouse; SELECT PetName, RIGHT(PetName, 1) 'Rightmost character', ASCII(RIGHT(PetName, 1)) 'ASCII code' FROM Pets;
Резултат:
+--------+---------------------+-----------+| Име на домашни любимци | Най-десният знак | ASCII код |+--------+---------------------+-----------+| Пухкави | y | 121 || Вземи | ч | 104 || Надраскване | ч | 104 || Размахване | g | 103 || Tweet | t | 116 || Пухкави | y | 121 || Кора | k | 107 || Мяу | w | 119 |+--------+---------------------+-----------+предварително>Празни низове
Предоставянето на празен низ води до
0
се връща.SELECT ASCII('');
Резултат:
+-----------+| ASCII('') |+-----------+| 0 |+----------+Нулеви стойности
Предоставяне на
null
води доnull
се връща.SELECT ASCII(null);
Резултат:
+------------+| ASCII(нула) |+------------+| NULL |+------------+