W Oracle BITAND()
funkcja zwraca bitową AND
z jego dwóch argumentów.
Składnia
Składnia wygląda tak:
BITAND(expr1, expr2)
Gdzie expr1
i expr2
są typu NUMBER
.
Argumenty muszą znajdować się w zakresie -(2) .. ((2)-1). Jeśli argument jest poza tym zakresem, wynik jest niezdefiniowany.
Również, jeśli któryś z argumentów jest NULL
, wynik to NULL
.
Przykład
Oto przykład:
SELECT BITAND(6, 3)
FROM DUAL;
Wynik:
BITAND(6,3) ______________ 2
Argumenty nieliczbowe
Oto, co się dzieje, gdy dostarczamy nieliczbowy argument, którego nie można przekonwertować na liczbowy typ danych:
SELECT BITAND('six', 3)
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT BITAND('six',3) FROM DUAL Error report - ORA-01722: invalid number
Wartości puste
Jeśli którykolwiek z argumentów jest null
, wynik to null
:
SET NULL 'null';
SELECT
BITAND(null, 3),
BITAND(6, null)
FROM DUAL;
Wynik:
BITAND(NULL,3) BITAND(6,NULL) _________________ _________________ null null
Domyślnie SQLcl i SQL*Plus zwracają spację, gdy null
występuje w wyniku polecenia SQL SELECT
oświadczenie.
Możesz jednak użyć SET NULL
aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null
należy zwrócić.
Nieprawidłowa liczba argumentów
Wywołanie BITAND()
bez przekazywania żadnych argumentów zwraca błąd:
SELECT BITAND()
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT BITAND() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
A przekazanie niewłaściwej liczby argumentów skutkuje błędem:
SELECT BITAND(1, 2, 3)
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT BITAND(1, 2, 3) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: