I MySQL er ORD() funktion returnerer den numeriske værdi af tegnet længst til venstre i en given streng. Du angiver strengen som et argument.
Hvis tegnet længst til venstre er et multibyte-tegn, beregnes den returnerede værdi ud fra de numeriske værdier af dets konstituerende bytes. Hvis tegnet længst til venstre ikke er et multibyte-tegn, er returværdien dets ASCII-kode (hvilket er det samme resultat som ved brug af ASCII() funktion).
Syntaks
Syntaksen ser sådan ud:
ORD(str)
Hvor str er den streng, hvorfra du vil have den numeriske kode for tegnet længst til venstre.
Eksempel 1 – Grundlæggende brug
Her er et eksempel til at demonstrere.
SELECT ORD('MySQL');
Resultat:
+----------------+
| ASCII('MySQL') |
+----------------+
| 77 |
+----------------+
Så vi kan se, at det numeriske for bogstavet M er 77 . Dette er nøjagtig det samme resultat, som vi ville få, hvis vi bruger ASCII() funktion, fordi bogstavet M falder inden for ASCII-området.
Her er et eksempel med de to funktioner side om side:
SELECT
ASCII('M'),
ORD('M');
Resultat:
+------------+----------+
| ASCII('M') | ORD('M') |
+------------+----------+
| 77 | 77 |
+------------+----------+
Eksempel 2 – Multibyte-tegn
Her er et eksempel, der bruger multibyte-tegn.
SELECT
ORD('€'),
ORD('á'),
ORD('仮'),
ORD('平'),
ORD('✓');
Resultat:
+------------+-----------+------------+------------+------------+
| ORD('€') | ORD('á') | ORD('仮') | ORD('平') | ORD('✓') |
+------------+-----------+------------+------------+------------+
| 14844588 | 50081 | 14990254 | 15055283 | 14851219 |
+------------+-----------+------------+------------+------------+
Eksempel 2 – Versalfølsomhed
Store bogstaver har en anden numerisk værdi end deres modstykker med små bogstaver. Eksempel:
SELECT
ORD('A'),
ORD('a');
Resultat:
+----------+----------+
| ORD('A') | ORD('a') |
+----------+----------+
| 65 | 97 |
+----------+----------+