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