Mysql
 sql >> Database >  >> RDS >> Mysql

2 modi per convertire un numero in ottale in MySQL

Se devi convertire un numero da decimale a ottale (base 8), vengono in mente due funzioni se utilizzi MySQL. Una funzione è specifica per eseguire conversioni ottali, l'altra è per eseguire conversioni tra basi diverse. Questi sono i seguenti:

OCT()
Questa funzione viene utilizzata specificamente per la conversione da decimale a ottale.
CONV()
Questa funzione ha uno scopo più generale. Consente di specificare la base del numero originale e il risultato. In altre parole, puoi convertire da qualsiasi base, a qualsiasi base (purché ogni base sia compresa tra 2 e 36).

Ulteriori informazioni su queste due funzioni di seguito.

La funzione OCT()

Come accennato, questa funzione è specifica per la conversione da decimale a ottale. La sua sintassi è questa:

OCT(N)

Dove N è il numero decimale che vuoi convertire in ottale.

Ecco un esempio:

SELECT OCT(8);

Risultato:

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

Il risultato è 10 perché è l'equivalente ottale di 8 nel sistema decimale.

La funzione CONV()

Questa è una funzione più generica che ti permette di specificare, non solo il sistema di numerazione in cui convertire in , ma anche il sistema di numerazione da cui convertire da .

Sintassi:

CONV(N,from_base,to_base)

Dove N è il numero da convertire, from_base è la base da cui convertire e to_base è la base in cui convertire.

Quindi possiamo riscrivere l'esempio precedente in questo:

SELECT CONV(8, 10, 8);

Risultato:

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

E otteniamo lo stesso risultato perché convertiamo il numero da base 10 a base 8.

Un vantaggio di CONV() la funzione è che puoi convertire tra altre basi. Ad esempio, avremmo potuto facilmente convertire da, diciamo, base 8 a base 16.

Cos'è Octal?

Octal è un sistema di notazione numerica che ha 8 come base. Questo è in contrasto con il decimale, che ha 10 come base.

In decimale, contiamo fino a 9, quindi ricominciamo aggiungendo uno zero dopo la prima cifra (ad es. dopo 9 viene 10, che è 1 con uno zero aggiunto).

In ottale (base 8), invece, contiamo solo fino a 7 prima di ricominciare e aggiungere uno zero. Quindi 10 in ottale è l'equivalente di 8 in decimale.

Ecco una tabella da dimostrare:

Decimale (Base 10) Ottale (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