I Oracle, BITAND()
funktion returnerar bitvis AND
av dess två argument.
Syntax
Syntaxen ser ut så här:
BITAND(expr1, expr2)
Där expr1
och expr2
är av typen NUMBER
.
Argumenten måste ligga i intervallet -(2) .. ((2)-1). Om ett argument ligger utanför detta intervall är resultatet odefinierat.
Dessutom, om något av argumenten är NULL
, resultatet är NULL
.
Exempel
Här är ett exempel:
SELECT BITAND(6, 3)
FROM DUAL;
Resultat:
BITAND(6,3) ______________ 2
Icke-numeriska argument
Så här händer när vi tillhandahåller ett icke-numeriskt argument som inte kan konverteras till en numerisk datatyp:
SELECT BITAND('six', 3)
FROM DUAL;
Resultat:
Error starting at line : 1 in command - SELECT BITAND('six',3) FROM DUAL Error report - ORA-01722: invalid number
Nullvärden
Om något av argumenten är null
, resultatet är null
:
SET NULL 'null';
SELECT
BITAND(null, 3),
BITAND(6, null)
FROM DUAL;
Resultat:
BITAND(NULL,3) BITAND(6,NULL) _________________ _________________ null null
Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när null
uppstår som ett resultat av en SQL SELECT
påstående.
Du kan dock använda SET NULL
för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null
bör returneras.
Inkorrekt antal argument
Anropar BITAND()
utan att skicka några argument returnerar ett fel:
SELECT BITAND()
FROM DUAL;
Resultat:
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:
Och att skicka fel antal argument resulterar i ett fel:
SELECT BITAND(1, 2, 3)
FROM DUAL;
Resultat:
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: