W MySQL funkcja ORD()
funkcja zwraca wartość liczbową skrajnego lewego znaku danego ciągu. Podajesz ciąg jako argument.
Jeśli skrajny lewy znak jest znakiem wielobajtowym, zwracana wartość jest obliczana na podstawie wartości liczbowych jego bajtów składowych. Jeśli skrajny lewy znak nie jest znakiem wielobajtowym, wartością zwracaną jest jego kod ASCII (jest to taki sam wynik, jak przy użyciu ASCII()
funkcja).
Składnia
Składnia wygląda tak:
ORD(str)
Gdzie str
to ciąg, z którego chcesz otrzymać kod numeryczny znaku znajdującego się najbardziej po lewej stronie.
Przykład 1 – Podstawowe użycie
Oto przykład do zademonstrowania.
SELECT ORD('MySQL');
Wynik:
+----------------+ | ASCII('MySQL') | +----------------+ | 77 | +----------------+
Widzimy więc, że liczba dla litery M to 77 . To jest dokładnie ten sam wynik, który otrzymalibyśmy, używając ASCII()
funkcja, ponieważ litera M mieści się w zakresie ASCII.
Oto przykład z dwoma funkcjami obok siebie:
SELECT ASCII('M'), ORD('M');
Wynik:
+------------+----------+ | ASCII('M') | ORD('M') | +------------+----------+ | 77 | 77 | +------------+----------+
Przykład 2 – Znaki wielobajtowe
Oto przykład, który używa znaków wielobajtowych.
SELECT ORD('€'), ORD('á'), ORD('仮'), ORD('平'), ORD('✓');
Wynik:
+------------+-----------+------------+------------+------------+ | ORD('€') | ORD('á') | ORD('仮') | ORD('平') | ORD('✓') | +------------+-----------+------------+------------+------------+ | 14844588 | 50081 | 14990254 | 15055283 | 14851219 | +------------+-----------+------------+------------+------------+
Przykład 2 – Rozróżnianie wielkości liter
Wielkie litery mają inną wartość liczbową niż ich małe odpowiedniki. Przykład:
SELECT ORD('A'), ORD('a');
Wynik:
+----------+----------+ | ORD('A') | ORD('a') | +----------+----------+ | 65 | 97 | +----------+----------+