Dans Oracle, le BITAND() la fonction renvoie un AND au niveau du bit de ses deux arguments.
Syntaxe
La syntaxe ressemble à ceci :
BITAND(expr1, expr2)
Où expr1 et expr2 sont de type NUMBER .
Les arguments doivent être compris dans l'intervalle -(2) .. ((2)-1). Si un argument est hors de cette plage, le résultat est indéfini.
Aussi, si l'un des arguments est NULL , le résultat est NULL .
Exemple
Voici un exemple :
SELECT BITAND(6, 3)
FROM DUAL; Résultat :
BITAND(6,3)
______________
2 Arguments non numériques
Voici ce qui se passe lorsque nous fournissons un argument non numérique qui ne peut pas être converti en un type de données numérique :
SELECT BITAND('six', 3)
FROM DUAL; Résultat :
Error starting at line : 1 in command -
SELECT BITAND('six',3)
FROM DUAL
Error report -
ORA-01722: invalid number Valeurs nulles
Si l'un des arguments est null , le résultat est null :
SET NULL 'null';
SELECT
BITAND(null, 3),
BITAND(6, null)
FROM DUAL; Résultat :
BITAND(NULL,3) BITAND(6,NULL)
_________________ _________________
null null
Par défaut, SQLcl et SQL*Plus renvoient un espace vide chaque fois que null se produit à la suite d'un SQL SELECT déclaration.
Cependant, vous pouvez utiliser SET NULL pour spécifier une autre chaîne à renvoyer. Ici, j'ai précisé que la chaîne null doit être retourné.
Nombre d'arguments incorrects
Appel de BITAND() sans passer d'argument renvoie une erreur :
SELECT BITAND()
FROM DUAL; Résultat :
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:
Et passer le mauvais nombre d'arguments entraîne une erreur :
SELECT BITAND(1, 2, 3)
FROM DUAL; Résultat :
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: