sql >> データベース >  >> RDS >> Oracle

OracleのBITAND()関数

    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:

    1. データベースでPIIを分類、検索、マスクする方法…

    2. SQLServer2005にクラスター化インデックスがない理由

    3. JSON_DEPTH()–MySQLでJSONドキュメントの最大深度を検索します

    4. PHP、MYSQLi、PDOで複数のデータベースを接続する方法