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