V MySQL je to ORD()
funkce vrací číselnou hodnotu znaku zcela vlevo daného řetězce. Zadáte řetězec jako argument.
Pokud je znak nejvíce vlevo vícebajtový znak, vrácená hodnota se vypočítá z číselných hodnot bajtů, které jej tvoří. Pokud znak zcela vlevo není vícebajtový znak, návratovou hodnotou je jeho kód ASCII (což je stejný výsledek jako při použití ASCII()
funkce).
Syntaxe
Syntaxe vypadá takto:
ORD(str)
Kde str
je řetězec, ze kterého chcete zadat číselný kód znaku zcela vlevo.
Příklad 1 – Základní použití
Zde je příklad k demonstraci.
SELECT ORD('MySQL');
Výsledek:
+----------------+ | ASCII('MySQL') | +----------------+ | 77 | +----------------+
Můžeme tedy vidět, že číslo pro písmeno M je 77 . To je přesně stejný výsledek, jaký bychom dostali, kdybychom použili ASCII()
funkce, protože písmeno M spadá do rozsahu ASCII.
Zde je příklad se dvěma funkcemi vedle sebe:
SELECT ASCII('M'), ORD('M');
Výsledek:
+------------+----------+ | ASCII('M') | ORD('M') | +------------+----------+ | 77 | 77 | +------------+----------+
Příklad 2 – Vícebajtové znaky
Zde je příklad, který používá vícebajtové znaky.
SELECT ORD('€'), ORD('á'), ORD('仮'), ORD('平'), ORD('✓');
Výsledek:
+------------+-----------+------------+------------+------------+ | ORD('€') | ORD('á') | ORD('仮') | ORD('平') | ORD('✓') | +------------+-----------+------------+------------+------------+ | 14844588 | 50081 | 14990254 | 15055283 | 14851219 | +------------+-----------+------------+------------+------------+
Příklad 2 – Rozlišování malých a velkých písmen
Velká písmena mají jinou číselnou hodnotu než jejich malá písmena. Příklad:
SELECT ORD('A'), ORD('a');
Výsledek:
+----------+----------+ | ORD('A') | ORD('a') | +----------+----------+ | 65 | 97 | +----------+----------+