Oracle
 sql >> Database >  >> RDS >> Oracle

BITAND() Funzione in Oracle

In Oracle, il BITAND() la funzione restituisce un AND bit per bit dei suoi due argomenti.

Sintassi

La sintassi è questa:

BITAND(expr1, expr2)

Dove expr1 e expr2 sono di tipo NUMBER .

Gli argomenti devono essere compresi nell'intervallo -(2) .. ((2)-1). Se un argomento è al di fuori di questo intervallo, il risultato non è definito.

Inoltre, se uno dei due argomenti è NULL , il risultato è NULL .

Esempio

Ecco un esempio:

SELECT BITAND(6, 3)
FROM DUAL;

Risultato:

   BITAND(6,3) 
______________ 
             2

Argomenti non numerici

Ecco cosa succede quando forniamo un argomento non numerico che non può essere convertito in un tipo di dati numerico:

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

Risultato:

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

Valori Nulli

Se uno qualsiasi degli argomenti è null , il risultato è null :

SET NULL 'null';

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

Risultato:

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

Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null si verifica come risultato di un SQL SELECT dichiarazione.

Tuttavia, puoi utilizzare SET NULL per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null deve essere restituito.

Conteggio argomenti errato

Chiamando BITAND() senza passare alcun argomento restituisce un errore:

SELECT BITAND()
FROM DUAL;

Risultato:

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:

E il passaggio del numero errato di argomenti genera un errore:

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

Risultato:

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: