Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

2 maneiras de converter um número para octal no MySQL


Se você precisar converter um número de decimal para octal (base 8), duas funções vêm à mente se você estiver usando o MySQL. Uma função é especificamente para fazer conversões octais, a outra é para fazer conversões entre diferentes bases. Estes são os seguintes:
OCT()
Esta função é usada especificamente para converter de decimal para octal.
CONV()
Esta função tem um propósito mais geral. Ele permite que você especifique a base do número original e o resultado. Em outras palavras, você pode converter de qualquer base para qualquer base (desde que cada base esteja entre 2 e 36).

Mais sobre essas duas funções abaixo.


A função OCT()


Como mencionado, esta função é especificamente para converter de decimal para octal. Sua sintaxe fica assim:
OCT(N)

Onde N é o número decimal que você deseja converter para octal.

Aqui está um exemplo:
SELECT OCT(8);

Resultado:
+--------+
| OCT(8) |
+--------+
| 10     |
+--------+

O resultado é 10 porque esse é o equivalente octal de 8 no sistema decimal.

A função CONV()


Esta é uma função de propósito mais geral que permite especificar, não apenas o sistema de numeração para converter para , mas também o sistema de numeração para converter de .

Sintaxe:
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.

Assim, podemos reescrever o exemplo anterior para isso:
SELECT CONV(8, 10, 8);

Resultado:
+----------------+
| CONV(8, 10, 8) |
+----------------+
| 10             |
+----------------+

E obtemos o mesmo resultado porque convertemos o número da base 10 para a base 8.

Um benefício do CONV() função é que você pode converter entre outras bases. Por exemplo, poderíamos facilmente ter convertido da base 8 para a base 16.

O que é Octal?


Octal é um sistema de notação numérica que tem 8 como base. Isso contrasta com o decimal, que tem 10 como base.

Em decimal, contamos até 9 e começamos novamente adicionando um zero após o primeiro dígito (por exemplo, depois de 9 vem 10, que é 1 com um zero adicionado a ele).

Em octal (base 8), no entanto, contamos apenas até 7 antes de começar novamente e adicionar um zero. Então 10 em octal é o equivalente a 8 em decimal.

Aqui está uma tabela para demonstrar:
Decimal (Base 10) Octal (Base 8)
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
10 12
11 13
12 14
13 15
14 16
15 17
16 20
17 21
18 22
19 23
20 24