V Oracle je to BITAND()
funkce vrací bitové AND
z jeho dvou argumentů.
Syntaxe
Syntaxe vypadá takto:
BITAND(expr1, expr2)
Kde expr1
a expr2
jsou typu NUMBER
.
Argumenty musí být v rozsahu -(2) .. ((2)-1). Pokud je argument mimo tento rozsah, výsledek není definován.
Také, pokud je některý argument NULL
, výsledkem je NULL
.
Příklad
Zde je příklad:
SELECT BITAND(6, 3)
FROM DUAL;
Výsledek:
BITAND(6,3) ______________ 2
Nečíselné argumenty
Co se stane, když poskytneme nečíselný argument, který nelze převést na číselný datový typ:
SELECT BITAND('six', 3)
FROM DUAL;
Výsledek:
Error starting at line : 1 in command - SELECT BITAND('six',3) FROM DUAL Error report - ORA-01722: invalid number
Nulové hodnoty
Pokud je některý z argumentů null
, výsledkem je null
:
SET NULL 'null';
SELECT
BITAND(null, 3),
BITAND(6, null)
FROM DUAL;
Výsledek:
BITAND(NULL,3) BITAND(6,NULL) _________________ _________________ null null
Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když null
dochází v důsledku SQL SELECT
prohlášení.
Můžete však použít SET NULL
určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null
by měl být vrácen.
Nesprávný počet argumentů
Volání BITAND()
bez předání jakýchkoli argumentů vrátí chybu:
SELECT BITAND()
FROM DUAL;
Výsledek:
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:
A předání nesprávného počtu argumentů má za následek chybu:
SELECT BITAND(1, 2, 3)
FROM DUAL;
Výsledek:
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: