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