In MariaDB, ASCII()
is een ingebouwde tekenreeksfunctie die de numerieke ASCII-waarde van het meest linkse teken van het tekenreeksargument retourneert.
De ASCII()
functie werkt alleen op 8 bit karakters. Gebruik de ORD()
. om de code voor multibyte-tekens te krijgen functie in plaats daarvan.
Syntaxis
De syntaxis gaat als volgt:
ASCII(str)
Waar str
is het stringargument.
ASCII()
retourneert de numerieke ASCII-waarde van alleen de meest linkse teken van deze tekenreeks.
Voorbeeld
Hier is een eenvoudig voorbeeld om te demonstreren:
SELECT ASCII('Maria');
Resultaat:
+----------------+ | ASCII('Maria') | +----------------+ | 77 | +----------------+
Dit vertelt ons dat de hoofdletter M
heeft de numerieke ASCII-waarde van 77
.
Zoals vermeld, ASCII()
retourneert alleen de ASCII-waarde van de meest linkse karakter. Daarom geeft het volgende hetzelfde resultaat:
SELECT ASCII('M');
Resultaat:
+------------+ | ASCII('M') | +------------+ | 77 | +------------+
Laten we, om dit verder te demonstreren, de numerieke ASCII-waarde halen uit elke letter in de bovenstaande reeks:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Resultaat:
+------------+------------+------------+------------+------------+ | ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') | +------------+------------+------------+------------+------------+ | 77 | 97 | 114 | 105 | 97 | +------------+------------+------------+------------+------------+
Hoofdlettergevoeligheid
Hoofdletters hebben een andere ASCII-waarde dan hun kleine letters.
Voorbeeld:
SELECT
ASCII('M'),
ASCII('m');
Resultaat:
+------------+------------+ | ASCII('M') | ASCII('m') | +------------+------------+ | 77 | 109 | +------------+------------+
Een databasevoorbeeld
Hier is een voorbeeld van het gebruik van ASCII()
in een databasequery:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Resultaat:
+---------+-----------------------------------+ | PetName | ASCII value of leftmost character | +---------+-----------------------------------+ | Fluffy | 70 | | Fetch | 70 | | Scratch | 83 | | Wag | 87 | | Tweet | 84 | | Fluffy | 70 | | Bark | 66 | | Meow | 77 | +---------+-----------------------------------+
Rechterste karakter
Hier gebruik ik de RIGHT()
functie om het meest rechtse teken van elke koosnaam terug te geven, en gebruik het dan opnieuw met de ASCII()
functie om de ASCII-waarde voor dat teken te retourneren.
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets;
Resultaat:
+---------+---------------------+------------+ | 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 | +---------+---------------------+------------+
Lege snaren
Het verstrekken van een lege string resulteert in 0
wordt geretourneerd.
SELECT ASCII('');
Resultaat:
+-----------+ | ASCII('') | +-----------+ | 0 | +-----------+
Null-waarden
null
opgeven resulteert in null
wordt geretourneerd.
SELECT ASCII(null);
Resultaat:
+-------------+ | ASCII(null) | +-------------+ | NULL | +-------------+