Trong MariaDB, CONV()
là một hàm số được tích hợp sẵn để chuyển đổi số giữa các cơ số khác nhau. Ví dụ:bạn có thể sử dụng nó để chuyển đổi một số từ cơ số 10 sang cơ số 16.
Nó trả về một biểu diễn chuỗi của số được chuyển đổi.
Cú pháp
Cú pháp như sau:
CONV(N,from_base,to_base)
Ở đâu N
là số cần chuyển đổi, from_base
là cơ sở để chuyển đổi từ và to_base
là cơ sở để chuyển đổi sang.
Cơ số tối thiểu là 2 và cơ số tối đa là 36.
Ví dụ
Đây là một ví dụ:
SELECT CONV(12, 10, 16);
Kết quả:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Kết quả là C
vì đó là giá trị thập lục phân (cơ số 16) cho 12
.
Vì vậy, số đếm như sau:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Đây là một cái khác:
SELECT CONV(1234567, 10, 16);
Kết quả:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Cơ sở phủ định
Nếu to_base
đối số là một số âm, N
được coi như một con số có chữ ký. Nếu không, nó được coi là chưa có dấu.
SELECT CONV(-12, 10, -16);
Kết quả:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Cơ sở ngoài phạm vi
Cơ số tối thiểu là 2 và cơ số tối đa là 36. Nếu đối số thứ hai hoặc thứ ba không nằm trong phạm vi này, null
được trả lại.
Ví dụ
SELECT CONV(12, 10, 42);
Kết quả:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Đối số chuỗi
Số được hiểu là một số nguyên, nhưng có thể được chỉ định là một số nguyên hoặc một chuỗi.
SELECT CONV('C', 16, 2);
Kết quả:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Đối số rỗng
CONV()
trả về null
nếu bất kỳ đối số nào là null
:
SELECT CONV(null, 10, 8);
Kết quả:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Thiếu đối số
Gọi CONV()
với số lượng đối số sai hoặc không có bất kỳ đối số nào dẫn đến lỗi:
SELECT CONV();
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
Và:
SELECT CONV(10, 2);
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'