In MariaDB, ASCII()
è una funzione stringa incorporata che restituisce il valore numerico ASCII del carattere più a sinistra del suo argomento stringa.
Il ASCII()
la funzione funziona solo su caratteri a 8 bit. Per ottenere il codice per i caratteri multibyte, usa ORD()
funzione invece.
Sintassi
La sintassi è questa:
ASCII(str)
Dove str
è l'argomento stringa.
ASCII()
restituirà il valore numerico ASCII solo dell'più a sinistra carattere di questa stringa.
Esempio
Ecco un semplice esempio da dimostrare:
SELECT ASCII('Maria');
Risultato:
+----------------+ | ASCII('Maria') | +----------------+ | 77 | +----------------+
Questo ci dice che la lettera maiuscola M
ha il valore numerico ASCII di 77
.
Come accennato, ASCII()
restituisce solo il valore ASCII dell'più a sinistra carattere. Pertanto, quanto segue produce lo stesso risultato:
SELECT ASCII('M');
Risultato:
+------------+ | ASCII('M') | +------------+ | 77 | +------------+
Per dimostrarlo ulteriormente, otteniamo il valore numerico ASCII da ciascuna lettera nella stringa sopra:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Risultato:
+------------+------------+------------+------------+------------+ | ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') | +------------+------------+------------+------------+------------+ | 77 | 97 | 114 | 105 | 97 | +------------+------------+------------+------------+------------+
Maiuscole/minuscole
Le lettere maiuscole hanno un valore ASCII diverso dai loro equivalenti minuscoli.
Esempio:
SELECT
ASCII('M'),
ASCII('m');
Risultato:
+------------+------------+ | ASCII('M') | ASCII('m') | +------------+------------+ | 77 | 109 | +------------+------------+
Un esempio di database
Ecco un esempio di utilizzo di ASCII()
in una query di database:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Risultato:
+---------+-----------------------------------+ | PetName | ASCII value of leftmost character | +---------+-----------------------------------+ | Fluffy | 70 | | Fetch | 70 | | Scratch | 83 | | Wag | 87 | | Tweet | 84 | | Fluffy | 70 | | Bark | 66 | | Meow | 77 | +---------+-----------------------------------+
Personaggio più a destra
Qui, uso il RIGHT()
funzione per restituire il carattere più a destra di ogni pet name, quindi utilizzarlo di nuovo con ASCII()
funzione per restituire il valore ASCII per quel carattere.
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets;
Risultato:
+---------+---------------------+------------+ | 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 | +---------+---------------------+------------+
Stringhe vuote
Se si fornisce una stringa vuota, si ottiene 0
in fase di restituzione.
SELECT ASCII('');
Risultato:
+-----------+ | ASCII('') | +-----------+ | 0 | +-----------+
Valori Nulli
Fornendo null
risulta null
in fase di restituzione.
SELECT ASCII(null);
Risultato:
+-------------+ | ASCII(null) | +-------------+ | NULL | +-------------+