W MySQL OCT()
funkcja służy do konwersji z dziesiętnej na ósemkową.
Dokładniej, zwraca ciąg znaków reprezentujący wartość ósemkową swojego argumentu.
Składnia
Podstawowa składnia wygląda następująco:
OCT(N)
Gdzie n
to wartość do przeliczenia. Ten argument jest liczbą typu longlong (BIGINT).
Przykład 1 – Podstawowe użycie
Oto przykład tego, jak to działa:
SELECT OCT(8);
Wynik:
+--------+ | OCT(8) | +--------+ | 10 | +--------+
Wynik to 10
ponieważ jest to ósemkowy odpowiednik 8 w systemie dziesiętnym.
Przykład 2 – Różne wartości
Oto kolejny przykład z różnymi wartościami:
SELECT OCT(10), OCT(20), OCT(30), OCT(100), OCT(1000);
Wynik:
+---------+---------+---------+----------+-----------+ | OCT(10) | OCT(20) | OCT(30) | OCT(100) | OCT(1000) | +---------+---------+---------+----------+-----------+ | 12 | 24 | 36 | 144 | 1750 | +---------+---------+---------+----------+-----------+
Przykład 3 – Wyrażenia
Możesz także użyć wyrażeń takich jak te poniżej:
SELECT OCT(100 + 2), OCT(100 * 2), OCT(100 / 2), OCT(100 - 2);
Wynik:
+--------------+--------------+--------------+--------------+ | OCT(100 + 2) | OCT(100 * 2) | OCT(100 / 2) | OCT(100 - 2) | +--------------+--------------+--------------+--------------+ | 146 | 310 | 62 | 142 | +--------------+--------------+--------------+--------------+
Co to jest ósemkowy?
Oktal to system notacji numerycznej, który ma 8 jako podstawę. Jest to w przeciwieństwie do dziesiętnego, który ma podstawę 10.
W systemie dziesiętnym liczymy do 9, a następnie zaczynamy od nowa, dodając zero po pierwszej cyfrze (np. po 9 jest 10, czyli 1 z dodanym zerem).
Jednak w systemie ósemkowym (podstawa 8) liczymy tylko do 7 przed ponownym rozpoczęciem i dodaniem zera. Zatem 10 w systemie ósemkowym jest odpowiednikiem 8 w systemie dziesiętnym.
Oto tabela do zademonstrowania:
Ułamek dziesiętny (podstawa 10) | ósemkowe (podstawa 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 |