sql >> Base de Datos >  >> RDS >> Oracle

Función BIN_TO_NUM() en Oracle

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