Trong Cơ sở dữ liệu Oracle, BIT_TO_NUM() hàm chuyển đổi một vectơ bit thành số tương đương của nó.
Cú pháp
Cú pháp như sau:
BIN_TO_NUM(expr [, expr ]... ) Trong đó mỗi expr đại diện cho một bit trong vector bit.
Đối số / s có thể là bất kỳ kiểu dữ liệu số nào hoặc bất kỳ kiểu dữ liệu không phải số nào có thể được chuyển đổi hoàn toàn thành NUMBER . Mỗi biểu thức phải đánh giá thành 0 hoặc 1 .
Ví dụ
Đây là một ví dụ:
SELECT BIN_TO_NUM(1)
FROM DUAL; Kết quả:
1
Trong trường hợp này, giá trị nhị phân 1 đại diện cho số 1.
Đây là một cái khác:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL; Kết quả:
2
Bây giờ chúng ta hãy làm một con số lớn hơn nhiều:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL; Kết quả:
46
Đối số không hợp lệ
Đang gọi BIN_TO_NUM() với các đối số không phân giải thành NUMBER dẫn đến lỗi:
SELECT BIN_TO_NUM('Cat')
FROM DUAL; Kết quả:
ORA-01722: invalid number
Giá trị rỗng
Nếu bất kỳ đối số nào null , một lỗi "đối số bất hợp pháp" xảy ra:
SELECT BIN_TO_NUM(null)
FROM DUAL; Kết quả:
ORA-01760: illegal argument for function
Không có đối số?
Đang gọi BIN_TO_NUM() không có bất kỳ đối số nào trả về 0 (không):
SELECT BIN_TO_NUM()
FROM DUAL; Kết quả:
0