No MariaDB,
CONV()
é uma função numérica interna que converte números entre diferentes bases numéricas. Por exemplo, você pode usá-lo para converter um número da base 10 para a base 16. Ele retorna uma representação de string do número convertido.
Sintaxe
A sintaxe fica assim:
CONV(N,from_base,to_base)
Onde
N
é o número a ser convertido, from_base
é a base para converter e to_base
é a base para converter. A base mínima é 2 e a base máxima é 36.
Exemplo
Aqui está um exemplo:
SELECT CONV(12, 10, 16);
Resultado:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
O resultado é
C
porque esse é o valor hexadecimal (base 16) para 12
. Então a contagem fica assim:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Aqui está mais um:
SELECT CONV(1234567, 10, 16);
Resultado:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Base negativa
Se o
to_base
argumento é um número negativo, N
é considerado um número assinado. Caso contrário, é tratado como não assinado. SELECT CONV(-12, 10, -16);
Resultado:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Base fora do alcance
A base mínima é 2 e a base máxima é 36. Se o segundo ou terceiro argumento não estiver dentro desse intervalo,
null
é devolvido. Exemplo
SELECT CONV(12, 10, 42);
Resultado:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Argumentos de string
O número é interpretado como um inteiro, mas pode ser especificado como um inteiro ou uma string.
SELECT CONV('C', 16, 2);
Resultado:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Argumentos nulos
CONV()
retorna null
se algum dos argumentos for null
:SELECT CONV(null, 10, 8);
Resultado:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Argumentos ausentes
Chamando
CONV()
com o número errado de argumentos ou sem argumentos resulta em um erro:SELECT CONV();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
E:
SELECT CONV(10, 2);
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'