I Oracle Database er BIT_TO_NUM()
funktion konverterer en bitvektor til dets tilsvarende tal.
Syntaks
Syntaksen ser sådan ud:
BIN_TO_NUM(expr [, expr ]... )
Hvor hver expr
repræsenterer en bit i bitvektoren.
Argumentet/-erne kan være enhver numerisk datatype eller enhver ikke-numerisk datatype, der implicit kan konverteres til NUMBER
. Hvert udtryk skal evalueres til 0
eller 1
.
Eksempel
Her er et eksempel:
SELECT BIN_TO_NUM(1)
FROM DUAL;
Resultat:
1
I dette tilfælde repræsenterer den binære værdi 1 tallet 1.
Her er endnu en:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Resultat:
2
Lad os nu lave et meget større antal:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Resultat:
46
Ugyldige argumenter
Ringer til BIN_TO_NUM()
med argumenter, der ikke løses til et NUMBER
resultere i en fejl:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Resultat:
ORA-01722: invalid number
Nul-værdier
Hvis et argument er null
, opstår der en "ulovlig argument"-fejl:
SELECT BIN_TO_NUM(null)
FROM DUAL;
Resultat:
ORA-01760: illegal argument for function
Ingen argumenter?
Ringer til BIN_TO_NUM()
uden argumenter returnerer 0
(nul):
SELECT BIN_TO_NUM()
FROM DUAL;
Resultat:
0