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

OracleのLN()関数

    Oracleでは、LN() 関数は、引数が0より大きい場合の引数の自然対数を返します。 。

    つまり、ベースを返します- e その引数の対数。

    番号e 、オイラーの数とも呼ばれ、2.71828にほぼ等しい数学定数です。

    構文

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

    LN(n)

    ここでn は、数値データ型または暗黙的に数値データ型に変換できる非数値データ型です。

    次に例を示します:

    SELECT LN(73)
    FROM DUAL;

    結果:

                                        LN(73) 
    __________________________________________ 
       4.2904594411483911290921088574385425709

    eを通過すると次のようになります :

    SELECT LN(2.718281828459045235360287471352662497757)
    FROM DUAL;

    結果:

       LN(2.718281828459045235360287471352662497757) 
    ________________________________________________ 
                                                   1

    ただし、この例では、小数部の数によって違いが生じます。最後の桁を削除すると、次のようになります。

    SELECT LN(2.71828182845904523536028747135266249775)
    FROM DUAL;

    結果:

       LN(2.71828182845904523536028747135266249775) 
    _______________________________________________ 
         0.9999999999999999999999999999999999999963

    負の値

    負の値は「範囲外」エラーになります:

    SELECT LN(-5.490)
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT LN(-5.490)
    FROM DUAL
    Error report -
    ORA-01428: argument '-5.49' is out of range

    ゼロ

    0を渡す また、「範囲外」エラーが発生します:

    SELECT LN(0)
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT LN(0)
    FROM DUAL
    Error report -
    ORA-01428: argument '0' is out of range

    表現

    引数には、次のような式を含めることができます:

    SELECT LN(2 * 3)
    FROM DUAL;

    結果:

                                        LN(2*3) 
    ___________________________________________ 
       1.79175946922805500081247735838070227272

    非数値引数

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

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

    SELECT LN('Euler')
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT LN('Euler')
    FROM DUAL
    Error report -
    ORA-01722: invalid number

    ヌル引数

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

    SET NULL 'null';
    
    SELECT LN(null)
    FROM DUAL;

    結果:

       LN(NULL) 
    ___________ 
           null 

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

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

    引数がありません

    LN()を呼び出す 引数の数が間違っているか、引数がない場合、エラーが発生します:

    SELECT LN()
    FROM DUAL;

    結果:

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

    結果:

    Error starting at line : 1 in command -
    SELECT LN(10, 2)
    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. ScaleGridがマネージドデータベースホスティングのGoogleCloudPlatform(GCP)サポートを開始

    2. 2011年春のPostgreSQLカンファレンス、米国/カナダ

    3. PostgreSQLで既存のテーブルに自動インクリメントの主キーを追加するにはどうすればよいですか?

    4. MySQLは一意の制約を追加します