In Oracle is de BITAND()
functie retourneert een bitsgewijze AND
van zijn twee argumenten.
Syntaxis
De syntaxis gaat als volgt:
BITAND(expr1, expr2)
Waar expr1
en expr2
zijn van het type NUMBER
.
De argumenten moeten in het bereik -(2) .. ((2)-1) liggen. Als een argument buiten dit bereik valt, is het resultaat niet gedefinieerd.
Als een van beide argumenten NULL
is, , het resultaat is NULL
.
Voorbeeld
Hier is een voorbeeld:
SELECT BITAND(6, 3)
FROM DUAL;
Resultaat:
BITAND(6,3) ______________ 2
Niet-numerieke argumenten
Dit is wat er gebeurt als we een niet-numeriek argument opgeven dat niet kan worden geconverteerd naar een numeriek gegevenstype:
SELECT BITAND('six', 3)
FROM DUAL;
Resultaat:
Error starting at line : 1 in command - SELECT BITAND('six',3) FROM DUAL Error report - ORA-01722: invalid number
Null-waarden
Als een van de argumenten null
. is , het resultaat is null
:
SET NULL 'null';
SELECT
BITAND(null, 3),
BITAND(6, null)
FROM DUAL;
Resultaat:
BITAND(NULL,3) BITAND(6,NULL) _________________ _________________ null null
Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null
treedt op als resultaat van een SQL SELECT
uitspraak.
U kunt echter SET NULL
. gebruiken om een andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null
moet worden geretourneerd.
Onjuist aantal argumenten
BITAND()
. aanroepen zonder het doorgeven van argumenten geeft een fout:
SELECT BITAND()
FROM DUAL;
Resultaat:
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:
En het doorgeven van het verkeerde aantal argumenten resulteert in een fout:
SELECT BITAND(1, 2, 3)
FROM DUAL;
Resultaat:
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: