V MariaDB, CONV()
je vestavěná numerická funkce, která převádí čísla mezi různými číselnými základy. Můžete jej například použít k převodu čísla ze základu 10 na základ 16.
Vrací řetězcovou reprezentaci převedeného čísla.
Syntaxe
Syntaxe vypadá takto:
CONV(N,from_base,to_base)
Kde N
je číslo, které se má převést, from_base
je základ, ze kterého se má převádět, a to_base
je základ pro převod.
Minimální základ je 2 a maximální základ je 36.
Příklad
Zde je příklad:
SELECT CONV(12, 10, 16);
Výsledek:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Výsledkem je C
protože to je hexadecimální (základ 16) hodnota pro 12
.
Počítání tedy vypadá takto:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Tady je další:
SELECT CONV(1234567, 10, 16);
Výsledek:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Záporný základ
Pokud to_base
argument je záporné číslo, N
je považováno za podepsané číslo. Jinak je považováno za nepodepsané.
SELECT CONV(-12, 10, -16);
Výsledek:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Mimo dosah základny
Minimální základ je 2 a maximální základ je 36. Pokud druhý nebo třetí argument není v tomto rozsahu, null
je vráceno.
Příklad
SELECT CONV(12, 10, 42);
Výsledek:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Řetězcové argumenty
Číslo je interpretováno jako celé číslo, ale může být zadáno jako celé číslo nebo řetězec.
SELECT CONV('C', 16, 2);
Výsledek:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Nulové argumenty
CONV()
vrátí null
pokud je některý z argumentů null
:
SELECT CONV(null, 10, 8);
Výsledek:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Chybí argumenty
Volání CONV()
s nesprávným počtem argumentů nebo bez jakýchkoli argumentů vede k chybě:
SELECT CONV();
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
A:
SELECT CONV(10, 2);
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'