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