Dalam Oracle Database, BIT_TO_NUM()
fungsi mengonversi vektor bit ke angka ekuivalennya.
Sintaks
Sintaksnya seperti ini:
BIN_TO_NUM(expr [, expr ]... )
Di mana setiap expr
mewakili sedikit dalam vektor bit.
Argumen/s dapat berupa tipe data numerik apa pun, atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke NUMBER
. Setiap ekspresi harus dievaluasi ke 0
atau 1
.
Contoh
Berikut contohnya:
SELECT BIN_TO_NUM(1)
FROM DUAL;
Hasil:
1
Dalam hal ini, nilai biner 1 mewakili angka 1.
Ini satu lagi:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Hasil:
2
Sekarang mari kita buat angka yang jauh lebih besar:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Hasil:
46
Argumen Tidak Valid
Memanggil BIN_TO_NUM()
dengan argumen yang tidak menghasilkan NUMBER
mengakibatkan kesalahan:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Hasil:
ORA-01722: invalid number
Nilai Null
Jika ada argumen null
, terjadi kesalahan "argumen ilegal":
SELECT BIN_TO_NUM(null)
FROM DUAL;
Hasil:
ORA-01760: illegal argument for function
Tidak Ada Argumen?
Memanggil BIN_TO_NUM()
tanpa argumen mengembalikan 0
(nol):
SELECT BIN_TO_NUM()
FROM DUAL;
Hasil:
0