En Oracle, BITAND() la función devuelve un bit a bit AND de sus dos argumentos.
Sintaxis
La sintaxis es así:
BITAND(expr1, expr2)
Donde expr1 y expr2 son del tipo NUMBER .
Los argumentos deben estar en el rango -(2) .. ((2)-1). Si un argumento está fuera de este rango, el resultado no está definido.
Además, si alguno de los argumentos es NULL , el resultado es NULL .
Ejemplo
He aquí un ejemplo:
SELECT BITAND(6, 3)
FROM DUAL; Resultado:
BITAND(6,3)
______________
2 Argumentos no numéricos
Esto es lo que sucede cuando proporcionamos un argumento no numérico que no se puede convertir a un tipo de datos numérico:
SELECT BITAND('six', 3)
FROM DUAL; Resultado:
Error starting at line : 1 in command -
SELECT BITAND('six',3)
FROM DUAL
Error report -
ORA-01722: invalid number Valores nulos
Si alguno de los argumentos es null , el resultado es null :
SET NULL 'null';
SELECT
BITAND(null, 3),
BITAND(6, null)
FROM DUAL; Resultado:
BITAND(NULL,3) BITAND(6,NULL)
_________________ _________________
null null
De forma predeterminada, SQLcl y SQL*Plus devuelven un espacio en blanco cada vez que null ocurre como resultado de un SQL SELECT declaración.
Sin embargo, puede usar SET NULL para especificar una cadena diferente a devolver. Aquí especifiqué que la cadena null debe ser devuelto.
Recuento de argumentos incorrecto
Llamando a BITAND() sin pasar ningún argumento devuelve un error:
SELECT BITAND()
FROM DUAL; Resultado:
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:
Y pasar el número incorrecto de argumentos da como resultado un error:
SELECT BITAND(1, 2, 3)
FROM DUAL; Resultado:
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: