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