Oracle
 sql >> Database >  >> RDS >> Oracle

BIN_TO_NUM() Funzione in Oracle

In Oracle Database, il BIT_TO_NUM() converte un vettore di bit nel suo numero equivalente.

Sintassi

La sintassi è questa:

BIN_TO_NUM(expr [, expr ]... )

Dove ogni expr rappresenta un bit nel vettore di bit.

Gli argomenti possono essere qualsiasi tipo di dati numerico o qualsiasi tipo di dati non numerico che può essere convertito in modo implicito in NUMBER . Ogni espressione deve restituire 0 o 1 .

Esempio

Ecco un esempio:

SELECT BIN_TO_NUM(1)
FROM DUAL;

Risultato:

1

In questo caso, il valore binario 1 rappresenta il numero 1.

Eccone un altro:

SELECT BIN_TO_NUM(1, 0)
FROM DUAL;

Risultato:

2

Ora facciamo un numero molto più grande:

SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;

Risultato:

46

Argomenti non validi

Chiamando BIN_TO_NUM() con argomenti che non si risolvono in un NUMBER causare un errore:

SELECT BIN_TO_NUM('Cat')
FROM DUAL;

Risultato:

ORA-01722: invalid number

Valori nulli

Se un argomento è null , si verifica un errore di "argomento illegale":

SELECT BIN_TO_NUM(null)
FROM DUAL;

Risultato:

ORA-01760: illegal argument for function

Nessun argomento?

Chiamando BIN_TO_NUM() senza alcun argomento restituisce 0 (zero):

SELECT BIN_TO_NUM()
FROM DUAL;

Risultato:

0