V MySQL, OCT() funkce se používá pro převod z desítkové soustavy na osmičkovou.
Přesněji, vrací řetězcovou reprezentaci osmičkové hodnoty svého argumentu.
Syntaxe
Základní syntaxe vypadá takto:
OCT(N)
Kde n je hodnota, která má být převedena. Tento argument je dlouhé (BIGINT) číslo.
Příklad 1 – Základní použití
Zde je příklad, jak to funguje:
SELECT OCT(8);
Výsledek:
+--------+ | OCT(8) | +--------+ | 10 | +--------+
Výsledek je 10 protože to je osmičkový ekvivalent 8 z desítkové soustavy.
Příklad 2 – různé hodnoty
Zde je další příklad s různými hodnotami:
SELECT OCT(10), OCT(20), OCT(30), OCT(100), OCT(1000);
Výsledek:
+---------+---------+---------+----------+-----------+ | OCT(10) | OCT(20) | OCT(30) | OCT(100) | OCT(1000) | +---------+---------+---------+----------+-----------+ | 12 | 24 | 36 | 144 | 1750 | +---------+---------+---------+----------+-----------+
Příklad 3 – Výrazy
Můžete také použít výrazy jako níže:
SELECT OCT(100 + 2), OCT(100 * 2), OCT(100 / 2), OCT(100 - 2);
Výsledek:
+--------------+--------------+--------------+--------------+ | OCT(100 + 2) | OCT(100 * 2) | OCT(100 / 2) | OCT(100 - 2) | +--------------+--------------+--------------+--------------+ | 146 | 310 | 62 | 142 | +--------------+--------------+--------------+--------------+
Co je Octal?
Osmičková je systém číselného zápisu, který má jako základ 8. To je na rozdíl od desítkové soustavy, která má jako základ 10.
V desítkové soustavě počítáme do 9, pak začneme znovu přidáním nuly za první číslici (např. po 9 přijde 10, což je 1 s přidanou nulou).
V osmičkovém (základ 8) však počítáme pouze do 7, než začneme znovu a přidáme nulu. Takže 10 v osmičkové soustavě je ekvivalentem 8 v desítkové soustavě.
Zde je tabulka pro ukázku:
| Desetinné (základ 10) | Oktální (základ 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 |