Trong MySQL, OCT()
hàm được sử dụng để chuyển đổi từ thập phân sang bát phân.
Chính xác hơn, nó trả về một biểu diễn chuỗi của giá trị bát phân của đối số của nó.
Cú pháp
Cú pháp cơ bản như sau:
OCT(N)
Ở đâu n
là giá trị được chuyển đổi. Đối số này là một số dài (BIGINT).
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là một ví dụ về cách nó hoạt động:
SELECT OCT(8);
Kết quả:
+--------+ | OCT(8) | +--------+ | 10 | +--------+
Kết quả là 10
bởi vì đó là tương đương bát phân của 8 từ hệ thập phân.
Ví dụ 2 - Các giá trị khác nhau
Dưới đây là một ví dụ khác với các giá trị khác nhau:
SELECT OCT(10), OCT(20), OCT(30), OCT(100), OCT(1000);
Kết quả:
+---------+---------+---------+----------+-----------+ | OCT(10) | OCT(20) | OCT(30) | OCT(100) | OCT(1000) | +---------+---------+---------+----------+-----------+ | 12 | 24 | 36 | 144 | 1750 | +---------+---------+---------+----------+-----------+
Ví dụ 3 - Biểu thức
Bạn cũng có thể sử dụng các biểu thức như những biểu thức dưới đây:
SELECT OCT(100 + 2), OCT(100 * 2), OCT(100 / 2), OCT(100 - 2);
Kết quả:
+--------------+--------------+--------------+--------------+ | OCT(100 + 2) | OCT(100 * 2) | OCT(100 / 2) | OCT(100 - 2) | +--------------+--------------+--------------+--------------+ | 146 | 310 | 62 | 142 | +--------------+--------------+--------------+--------------+
Octal là gì?
Hệ bát phân là một hệ thống ký hiệu số có 8 làm cơ số. Điều này trái ngược với số thập phân, có 10 làm cơ số.
Trong hệ thập phân, chúng tôi đếm đến 9, sau đó bắt đầu lại bằng cách thêm số 0 vào sau chữ số đầu tiên (ví dụ:sau 9 đến 10, là 1 với số 0 được thêm vào).
Tuy nhiên, trong hệ bát phân (cơ số 8), chúng ta chỉ đếm đến 7 trước khi bắt đầu lại và thêm số 0. Vì vậy, 10 trong bát phân tương đương với 8 trong thập phân.
Đây là bảng để minh chứng:
Decimal (Cơ số 10) | Hệ bát phân (Cơ số 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 |