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

2 måder at konvertere et tal til oktal i MySQL

Hvis du skal konvertere et tal fra decimal til oktal (grundtal 8), kommer du til at tænke på to funktioner, hvis du bruger MySQL. Den ene funktion er specifikt til at lave oktale konverteringer, den anden er til at lave konverteringer mellem forskellige baser. Disse er som følger:

OCT()
Denne funktion bruges specifikt til at konvertere fra decimal til oktal.
CONV()
Denne funktion har et mere generelt formål. Det giver dig mulighed for at angive bunden af ​​det oprindelige nummer og resultatet. Med andre ord, du kan konvertere fra en hvilken som helst base til en hvilken som helst base (så længe hver base er mellem 2 og 36).

Mere om disse to funktioner nedenfor.

OCT()-funktionen

Som nævnt er denne funktion specifikt til konvertering fra decimal til oktal. Dens syntaks lyder således:

OCT(N)

Hvor N er det decimaltal, du vil konvertere til oktal.

Her er et eksempel:

SELECT OCT(8);

Resultat:

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

Resultatet er 10 fordi det er den oktale ækvivalent af 8 i decimalsystemet.

CONV()-funktionen

Dette er en mere generel funktion, der giver dig mulighed for at specificere, ikke kun nummereringssystemet, der skal konverteres til , men også nummereringssystemet til at konvertere fra .

Syntaks:

CONV(N,from_base,to_base)

Hvor N er det tal, der skal konverteres, from_base er den base, der skal konverteres fra, og to_base er den base, der skal konverteres til.

Så vi kan omskrive det forrige eksempel til dette:

SELECT CONV(8, 10, 8);

Resultat:

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

Og vi får det samme resultat, fordi vi konverterer tallet fra grundtal 10 til grundtal 8.

En fordel ved CONV() funktion er, at du kan konvertere mellem andre baser. For eksempel kunne vi lige så nemt have konverteret fra f.eks. base 8 til base 16.

Hvad er Octal?

Oktal er et system med numerisk notation, der har 8 som base. Dette er i modsætning til decimal, som har 10 som basis.

I decimaltal tæller vi op til 9, og starter derefter igen med at tilføje et nul efter det første ciffer (f.eks. efter 9 kommer 10, som er 1 med et nul tilføjet).

I oktal (grundlag 8) tæller vi dog kun til 7, før vi starter igen og tilføjer et nul. Så 10 i oktal svarer til 8 i decimal.

Her er en tabel til at demonstrere:

Decimal (grundlag 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


  1. Gruppér kun efter dato i en Datetime-kolonne

  2. Udvikling af PostgreSQL til Windows, del 2

  3. Sådan fungerer RADIANS() i MariaDB

  4. mysql-lignende præstationsboost