Oracleでは、BITAND()
関数はビット単位のAND
を返します その2つの議論の。
構文
構文は次のようになります:
BITAND(expr1, expr2)
expr1
の場所 およびexpr2
タイプはNUMBER
。
引数は-(2)..((2)-1)の範囲内でなければなりません。引数がこの範囲外の場合、結果は未定義です。
また、いずれかの引数がNULL
の場合 、結果はNULL
です 。
例
次に例を示します:
SELECT BITAND(6, 3)
FROM DUAL;
結果:
BITAND(6,3) ______________ 2
非数値引数
数値データ型に変換できない非数値引数を指定すると、次のようになります。
SELECT BITAND('six', 3)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT BITAND('six',3) FROM DUAL Error report - ORA-01722: invalid number
ヌル値
引数のいずれかがnull
の場合 、結果はnull
です :
SET NULL 'null';
SELECT
BITAND(null, 3),
BITAND(6, null)
FROM DUAL;
結果:
BITAND(NULL,3) BITAND(6,NULL) _________________ _________________ null null
デフォルトでは、SQLclおよびSQL * Plusは、null
の場合は常に空白を返します。 SQL SELECT
の結果として発生します 声明。
ただし、SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
引数の数が正しくありません
BITAND()
の呼び出し 引数を渡さないとエラーが返されます:
SELECT BITAND()
FROM DUAL;
結果:
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:
また、間違った数の引数を渡すと、エラーが発生します:
SELECT BITAND(1, 2, 3)
FROM DUAL;
結果:
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: