In Oracle Database, de BIT_TO_NUM()
functie converteert een bitvector naar het equivalente getal.
Syntaxis
De syntaxis gaat als volgt:
BIN_TO_NUM(expr [, expr ]... )
Waarbij elke expr
vertegenwoordigt een bit in de bitvector.
De argumenten kunnen elk numeriek gegevenstype zijn, of elk niet-numeriek gegevenstype dat impliciet kan worden geconverteerd naar NUMBER
. Elke expressie moet resulteren in 0
of 1
.
Voorbeeld
Hier is een voorbeeld:
SELECT BIN_TO_NUM(1)
FROM DUAL;
Resultaat:
1
In dit geval vertegenwoordigt de binaire waarde 1 het getal 1.
Hier is er nog een:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Resultaat:
2
Laten we nu een veel groter aantal doen:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Resultaat:
46
Ongeldige argumenten
Belt BIN_TO_NUM()
met argumenten die niet resulteren in een NUMBER
resulteren in een fout:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Resultaat:
ORA-01722: invalid number
Null-waarden
Als een argument null
is , er treedt een "illegaal argument"-fout op:
SELECT BIN_TO_NUM(null)
FROM DUAL;
Resultaat:
ORA-01760: illegal argument for function
Geen argumenten?
Belt BIN_TO_NUM()
zonder enige argumenten retourneert 0
(nul):
SELECT BIN_TO_NUM()
FROM DUAL;
Resultaat:
0