Wenn Sie eine Zahl von Dezimalzahlen in Oktalzahlen (Basis 8) umwandeln müssen, kommen Ihnen zwei Funktionen in den Sinn, wenn Sie MySQL verwenden. Eine Funktion ist speziell für Oktalkonvertierungen, die andere für Konvertierungen zwischen verschiedenen Basen. Diese lauten wie folgt:
OCT()
- Diese Funktion wird speziell für die Umwandlung von Dezimalzahlen in Oktalzahlen verwendet.
CONV()
- Diese Funktion hat einen allgemeineren Zweck. Es erlaubt Ihnen, die Basis der ursprünglichen Zahl und das Ergebnis anzugeben. Mit anderen Worten, Sie können von jeder Basis zu jeder Basis konvertieren (solange jede Basis zwischen 2 und 36 liegt).
Mehr zu diesen beiden Funktionen weiter unten.
Die OCT()-Funktion
Wie bereits erwähnt, dient diese Funktion speziell zum Konvertieren von Dezimalzahlen in Oktalzahlen. Seine Syntax sieht so aus:
OCT(N)
Wobei N
ist die Dezimalzahl, die Sie in eine Oktalzahl umwandeln möchten.
Hier ist ein Beispiel:
SELECT OCT(8);
Ergebnis:
+--------+ | OCT(8) | +--------+ | 10 | +--------+
Das Ergebnis ist 10
denn das ist das oktale Äquivalent von 8 im Dezimalsystem.
Die CONV()-Funktion
Dies ist eine allgemeinere Funktion, mit der Sie nicht nur das Nummerierungssystem angeben können, in das in konvertiert werden soll , sondern auch das Nummerierungssystem, aus dem von konvertiert werden soll .
Syntax:
CONV(N,from_base,to_base)
Wobei N
ist die zu konvertierende Zahl, from_base
ist die Basis, von der konvertiert werden soll, und to_base
ist die Basis für die Konvertierung.
Also können wir das vorherige Beispiel so umschreiben:
SELECT CONV(8, 10, 8);
Ergebnis:
+----------------+ | CONV(8, 10, 8) | +----------------+ | 10 | +----------------+
Und wir erhalten dasselbe Ergebnis, weil wir die Zahl von der Basis 10 in die Basis 8 umwandeln.
Ein Vorteil von CONV()
Funktion ist, dass Sie zwischen anderen Basen konvertieren können. Beispielsweise hätten wir genauso gut von der Basis 8 in die Basis 16 umwandeln können.
Was ist Oktal?
Oktal ist ein Zahlensystem mit 8 als Basis. Dies steht im Gegensatz zu decimal, das 10 als Basis hat.
Bei der Dezimalzahl zählen wir bis 9 und beginnen dann erneut, indem wir nach der ersten Ziffer eine Null hinzufügen (z. B. kommt nach 9 eine 10, was eine 1 mit einer hinzugefügten Null ist).
Im Oktal (Basis 8) zählen wir jedoch nur bis 7, bevor wir wieder beginnen und eine Null hinzufügen. 10 im Oktalformat entspricht also 8 im Dezimalformat.
Hier ist eine Tabelle zur Veranschaulichung:
Dezimalzahl (Basis 10) | Oktal (Basis 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 |