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

Como a função OCT() funciona no MySQL


No MySQL, o OCT() A função é usada para converter de decimal para octal.

Mais precisamente, ele retorna uma representação em string do valor octal de seu argumento.


Sintaxe


A sintaxe básica é assim:
OCT(N)

Onde n é o valor a ser convertido. Este argumento é um número longo (BIGINT).

Exemplo 1 – Uso básico


Veja um exemplo de como funciona:
SELECT OCT(8);

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

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

Exemplo 2 – Vários Valores


Aqui está outro exemplo com vários valores:
SELECT 
  OCT(10),
  OCT(20),
  OCT(30),
  OCT(100),
  OCT(1000);

Resultado:
+---------+---------+---------+----------+-----------+
| OCT(10) | OCT(20) | OCT(30) | OCT(100) | OCT(1000) |
+---------+---------+---------+----------+-----------+
| 12      | 24      | 36      | 144      | 1750      |
+---------+---------+---------+----------+-----------+

Exemplo 3 – Expressões


Você também pode usar expressões como as abaixo:
SELECT 
  OCT(100 + 2),
  OCT(100 * 2),
  OCT(100 / 2),
  OCT(100 - 2);

Resultado:
+--------------+--------------+--------------+--------------+
| OCT(100 + 2) | OCT(100 * 2) | OCT(100 / 2) | OCT(100 - 2) |
+--------------+--------------+--------------+--------------+
| 146          | 310          | 62           | 142          |
+--------------+--------------+--------------+--------------+

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