Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja BITAND() w Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pokaż wszystkie zapytania przychodzące do bazy danych Oracle

  2. Dodaj wskaźnik porządkowy do daty w Oracle

  3. Czy strefa czasowa java.sql.Timestamp jest specyficzna?

  4. Trzeba zresetować wartość sekwencji w Oracle

  5. Iteracja zestawu wyników przy użyciu JDBC for Oracle zajmuje dużo czasu, około 16 s?