I MariaDB, ASCII()
är en inbyggd strängfunktion som returnerar det numeriska ASCII-värdet för tecknet längst till vänster i dess strängargument.
ASCII()
Funktionen fungerar bara på 8 bitars tecken. För att få koden för multi-byte tecken, använd ORD()
funktion istället.
Syntax
Syntaxen ser ut så här:
ASCII(str)
Där str
är strängargumentet.
ASCII()
returnerar det numeriska ASCII-värdet för endast längst till vänster tecken i denna sträng.
Exempel
Här är ett enkelt exempel att visa:
SELECT ASCII('Maria');
Resultat:
+----------------+| ASCII('Maria') |+----------------+| 77 |+----------------+
Detta talar om för oss att den stora bokstaven M
har det numeriska ASCII-värdet 77
.
Som nämnts, ASCII()
returnerar endast ASCII-värdet för längst till vänster karaktär. Följande ger därför samma resultat:
SELECT ASCII('M');
Resultat:
+------------+| ASCII('M') |+------------+| 77 |+------------+
För att demonstrera detta ytterligare, låt oss få det numeriska ASCII-värdet från varje bokstav i ovanstående sträng:
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 |+-------------+------------+-------------+-------- ----+------------+
Skaftkänslighet
Versaler har ett annat ASCII-värde än sina gemener.
Exempel:
SELECT
ASCII('M'),
ASCII('m');
Resultat:
+------------+------------+| ASCII('M') | ASCII('m') |+------------+------------+| 77 | 109 |+-------------+------------+
Ett databasexempel
Här är ett exempel på hur du använder ASCII()
i en databasfråga:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Resultat:
+--------+------------------------------------------+ | PetName | ASCII-värde för tecknet längst till vänster |+---------+---------------------------------------- --+| Fluffig | 70 || Hämta | 70 || Skrapa | 83 || Wag | 87 || Tweet | 84 || Fluffig | 70 || Bark | 66 || Mjau | 77 |+---------+--------------------------------------------+
Tecken längst till höger
Här använder jag RIGHT()
funktion för att returnera tecknet längst till höger från varje husdjursnamn och använd det sedan igen med ASCII()
funktion för att returnera ASCII-värdet för det tecknet.
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets;
Resultat:
+--------+---------------------+-----------+| PetName | Tecken längst till höger | ASCII-kod |+---------+---------------------+------------+| Fluffig | y | 121 || Hämta | h | 104 || Skrapa | h | 104 || Wag | g | 103 || Tweet | t | 116 || Fluffig | y | 121 || Bark | k | 107 || Mjau | w | 119 |+--------+---------------------+-----------+Tömma strängar
Att tillhandahålla en tom sträng resulterar i
0
returneras.SELECT ASCII('');
Resultat:
+------------+| ASCII('') |+------------+| 0 |+-----------+Nullvärden
Tillhandahåller
null
resulterar inull
returneras.SELECT ASCII(null);
Resultat:
+-------------+| ASCII(null) |+-------------+| NULL |+-------------+