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 | +-------------+