Oracle
 sql >> Datenbank >  >> RDS >> Oracle

BITAND()-Funktion in Oracle

In Oracle das BITAND() Funktion gibt ein bitweises AND zurück seiner beiden Argumente.

Syntax

Die Syntax lautet wie folgt:

BITAND(expr1, expr2)

Wobei expr1 und expr2 sind vom Typ NUMBER .

Die Argumente müssen im Bereich -(2) .. ((2)-1) liegen. Wenn ein Argument außerhalb dieses Bereichs liegt, ist das Ergebnis undefiniert.

Auch wenn eines der Argumente NULL ist , ist das Ergebnis NULL .

Beispiel

Hier ist ein Beispiel:

SELECT BITAND(6, 3)
FROM DUAL;

Ergebnis:

   BITAND(6,3) 
______________ 
             2

Nicht numerische Argumente

Folgendes passiert, wenn wir ein nicht numerisches Argument angeben, das nicht in einen numerischen Datentyp konvertiert werden kann:

SELECT BITAND('six', 3)
FROM DUAL;

Ergebnis:

Error starting at line : 1 in command -
SELECT BITAND('six',3)
FROM DUAL
Error report -
ORA-01722: invalid number

Nullwerte

Wenn eines der Argumente null ist , ist das Ergebnis null :

SET NULL 'null';

SELECT 
    BITAND(null, 3),
    BITAND(6, null)
FROM DUAL;

Ergebnis:

   BITAND(NULL,3)    BITAND(6,NULL) 
_________________ _________________ 
             null              null 

Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn null tritt als Ergebnis eines SQL SELECT auf Erklärung.

Sie können jedoch SET NULL verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null zurückgegeben werden soll.

Falsche Argumentanzahl

Aufruf von BITAND() ohne Übergabe von Argumenten gibt einen Fehler zurück:

SELECT BITAND()
FROM DUAL;

Ergebnis:

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:

Und das Übergeben der falschen Anzahl von Argumenten führt zu einem Fehler:

SELECT BITAND(1, 2, 3)
FROM DUAL;

Ergebnis:

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: