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