V databázi Oracle BIT_TO_NUM()
funkce převede bitový vektor na jeho ekvivalentní číslo.
Syntaxe
Syntaxe vypadá takto:
BIN_TO_NUM(expr [, expr ]... )
Kde každý expr
představuje bit v bitovém vektoru.
Argumenty mohou být libovolný číselný datový typ nebo jakýkoli nečíselný datový typ, který lze implicitně převést na NUMBER
. Každý výraz musí být vyhodnocen jako 0
nebo 1
.
Příklad
Příklad:
SELECT BIN_TO_NUM(1)
FROM DUAL;
Výsledek:
1
V tomto případě binární hodnota 1 představuje číslo 1.
Zde je další:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Výsledek:
2
Nyní udělejme mnohem větší číslo:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Výsledek:
46
Neplatné argumenty
Volání BIN_TO_NUM()
s argumenty, které nelze přeložit na NUMBER
výsledkem je chyba:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Výsledek:
ORA-01722: invalid number
Nulové hodnoty
Pokud je některý argument null
, dojde k chybě „nelegální argument“:
SELECT BIN_TO_NUM(null)
FROM DUAL;
Výsledek:
ORA-01760: illegal argument for function
Žádné argumenty?
Volání BIN_TO_NUM()
bez argumentů vrátí 0
(nula):
SELECT BIN_TO_NUM()
FROM DUAL;
Výsledek:
0