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

OracleのPOWER()関数

    Oracleでは、POWER() 関数は、最初の引数を2番目の引数の累乗で返します。

    構文

    構文は次のようになります:

    POWER(n2, n1)

    各引数は、任意の数値データ型、または暗黙的に数値データ型に変換できる任意の非数値データ型にすることができます。

    ただし、 n2の場合、両方の引数は任意の数にすることができます が負の場合、 n1 整数である必要があります。

    デモンストレーションの例を次に示します。

    SELECT POWER(8, 2) 
    FROM DUAL;

    結果:

       POWER(8,2) 
    _____________ 
               64 

    そしてここでは、2番目の引数で小数部分を使用しています:

    SELECT POWER(8, 2.5) 
    FROM DUAL;

    結果:

                                  POWER(8,2.5) 
    __________________________________________ 
       181.01933598375616624661615669884135406 

    ただし、小数部分の使用は、最初の引数が正の場合にのみ可能です。

    負の値

    前述のように、最初の引数が負の場合、2番目の引数は整数でなければなりません:

    SELECT POWER(-8, 2) 
    FROM DUAL;

    結果:

       POWER(-8,2) 
    ______________ 
                64 

    2番目の数値が整数でない場合は次のようになります。

    SELECT POWER(-8, 2.5) 
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT POWER(-8, 2.5) 
    FROM DUAL
    Error report -
    ORA-01428: argument '-8' is out of range

    非数値引数

    引数は、任意の数値データ型、または暗黙的に数値データ型に変換できる任意の非数値データ型にすることができます。

    引数がその基準を満たさない場合に何が起こるかの例を次に示します。

    SELECT POWER('Gosh', 'Dang')
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT POWER('Gosh', 'Dang')
    FROM DUAL
    Error report -
    ORA-01722: invalid number

    ヌル引数

    POWER() nullを返します 引数がnullの場合 :

    SET NULL 'null';
    
    SELECT 
        POWER(null, 3),
        POWER(8, null),
        POWER(null, null)
    FROM DUAL;

    結果:

       POWER(NULL,3)    POWER(8,NULL)    POWER(NULL,NULL) 
    ________________ ________________ ___________________ 
                null             null                null 

    デフォルトでは、SQLclおよびSQL * Plusは、SQL SELECTの結果としてnull値が発生するたびに空白を返します。 声明。

    ただし、SET NULLは使用できます 返される別の文字列を指定します。ここでは、文字列nullを指定しました 返却する必要があります。

    引数がありません

    POWER()の呼び出し 引数がないとエラーが発生します:

    SELECT POWER()
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT POWER()
    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 POWER(10, 2, 3)
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT POWER(10, 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. 2つの列を使用したデータのピボット

    2. MySQLとOracleを使用したHibernate自動キー生成

    3. SQL Server 2008のDateTimeOffsetをDateTimeに変換するにはどうすればよいですか?

    4. SQLServerの「Waitforでクエリは許可されていません」エラー101