I Oracle Database, BIT_TO_NUM()
funktion konverterar en bitvektor till dess ekvivalenta tal.
Syntax
Syntaxen ser ut så här:
BIN_TO_NUM(expr [, expr ]... )
Där varje expr
representerar en bit i bitvektorn.
Argumentet/argumenten kan vara vilken numerisk datatyp som helst eller vilken icke-numerisk datatyp som helst som implicit kan konverteras till NUMBER
. Varje uttryck måste utvärderas till 0
eller 1
.
Exempel
Här är ett exempel:
SELECT BIN_TO_NUM(1)
FROM DUAL;
Resultat:
1
I detta fall representerar det binära värdet 1 talet 1.
Här är en till:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Resultat:
2
Låt oss nu göra ett mycket större antal:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Resultat:
46
Ogiltiga argument
Ringer BIN_TO_NUM()
med argument som inte löser sig till ett NUMBER
resultera i ett fel:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Resultat:
ORA-01722: invalid number
Nullvärden
Om något argument är null
, uppstår ett "olagligt argument"-fel:
SELECT BIN_TO_NUM(null)
FROM DUAL;
Resultat:
ORA-01760: illegal argument for function
Inga argument?
Ringer BIN_TO_NUM()
utan några argument returnerar 0
(noll):
SELECT BIN_TO_NUM()
FROM DUAL;
Resultat:
0