En Oracle Database, el BIT_TO_NUM()
La función convierte un vector de bits en su número equivalente.
Sintaxis
La sintaxis es así:
BIN_TO_NUM(expr [, expr ]... )
Donde cada expr
representa un bit en el vector de bits.
Los argumentos pueden ser cualquier tipo de dato numérico o cualquier tipo de dato no numérico que se pueda convertir implícitamente a NUMBER
. Cada expresión debe evaluarse como 0
o 1
.
Ejemplo
Este es un ejemplo:
SELECT BIN_TO_NUM(1)
FROM DUAL;
Resultado:
1
En este caso, el valor binario 1 representa el número 1.
Aquí hay otro:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Resultado:
2
Ahora hagamos un número mucho más grande:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Resultado:
46
Argumentos no válidos
Llamando a BIN_TO_NUM()
con argumentos que no se resuelven en un NUMBER
dar como resultado un error:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Resultado:
ORA-01722: invalid number
Valores nulos
Si algún argumento es null
, se produce un error de "argumento ilegal":
SELECT BIN_TO_NUM(null)
FROM DUAL;
Resultado:
ORA-01760: illegal argument for function
¿Sin argumentos?
Llamando a BIN_TO_NUM()
sin argumentos devuelve 0
(cero):
SELECT BIN_TO_NUM()
FROM DUAL;
Resultado:
0