In MySQL, il ORD()
La funzione restituisce il valore numerico del carattere più a sinistra di una determinata stringa. Fornisci la stringa come argomento.
Se il carattere più a sinistra è un carattere multibyte, il valore restituito viene calcolato dai valori numerici dei suoi byte costituenti. Se il carattere più a sinistra non è un carattere multibyte, il valore restituito è il suo codice ASCII (che è lo stesso risultato di quando si utilizza ASCII()
funzione).
Sintassi
La sintassi è questa:
ORD(str)
Dove str
è la stringa da cui vuoi il codice numerico del carattere più a sinistra.
Esempio 1 – Utilizzo di base
Ecco un esempio da dimostrare.
SELECT ORD('MySQL');
Risultato:
+----------------+ | ASCII('MySQL') | +----------------+ | 77 | +----------------+
Quindi possiamo vedere che il numero per la lettera M è 77 . Questo è esattamente lo stesso risultato che otterremmo usando ASCII()
funzione, perché la lettera M rientra nell'intervallo ASCII.
Ecco un esempio con le due funzioni affiancate:
SELECT ASCII('M'), ORD('M');
Risultato:
+------------+----------+ | ASCII('M') | ORD('M') | +------------+----------+ | 77 | 77 | +------------+----------+
Esempio 2 – Caratteri multibyte
Ecco un esempio che utilizza caratteri multibyte.
SELECT ORD('€'), ORD('á'), ORD('仮'), ORD('平'), ORD('✓');
Risultato:
+------------+-----------+------------+------------+------------+ | ORD('€') | ORD('á') | ORD('仮') | ORD('平') | ORD('✓') | +------------+-----------+------------+------------+------------+ | 14844588 | 50081 | 14990254 | 15055283 | 14851219 | +------------+-----------+------------+------------+------------+
Esempio 2:distinzione tra maiuscole e minuscole
I caratteri maiuscoli hanno un valore numerico diverso rispetto alle loro controparti minuscole. Esempio:
SELECT ORD('A'), ORD('a');
Risultato:
+----------+----------+ | ORD('A') | ORD('a') | +----------+----------+ | 65 | 97 | +----------+----------+