W bazie danych Oracle BIT_TO_NUM()
funkcja konwertuje wektor bitowy na jego równoważną liczbę.
Składnia
Składnia wygląda tak:
BIN_TO_NUM(expr [, expr ]... )
Gdzie każdy expr
reprezentuje bit w wektorze bitowym.
Argument/argumenty mogą być dowolnym liczbowym typem danych lub dowolnym nienumerycznym typem danych, który można niejawnie przekonwertować na NUMBER
. Każde wyrażenie musi mieć wartość 0
lub 1
.
Przykład
Oto przykład:
SELECT BIN_TO_NUM(1)
FROM DUAL;
Wynik:
1
W tym przypadku wartość binarna 1 reprezentuje liczbę 1.
Oto jeszcze jeden:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
Wynik:
2
Teraz zróbmy znacznie większą liczbę:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
Wynik:
46
Nieprawidłowe argumenty
Wywołanie BIN_TO_NUM()
z argumentami, których nie można rozwiązać na NUMBER
spowodować błąd:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
Wynik:
ORA-01722: invalid number
Wartości puste
Jeśli dowolny argument ma wartość null
, pojawia się błąd „nielegalny argument”:
SELECT BIN_TO_NUM(null)
FROM DUAL;
Wynik:
ORA-01760: illegal argument for function
Brak argumentów?
Wywołanie BIN_TO_NUM()
bez żadnych argumentów zwraca 0
(zero):
SELECT BIN_TO_NUM()
FROM DUAL;
Wynik:
0