SQL道場 算術関数 LN/LOG/LOG10関数

SQLで自然対数を求めるLN/LOG/LOG10関数について記載しています。

対応データベースSQL Server MySQL Oracle PostgreSQL DB2 Access

EXP関数の文法

SELECT LN(数値) FROM テーブル
SELECT LOG(数値) FROM テーブル
SELECT LOG(底とする数値,数値) FROM テーブル
SELECT LOG10(数値) FROM テーブル

引数

数値

底とする数値

数値型 数値(任意の数)

数値型 数値(任意の数)

返値数値型 自然対数

SQLServer


引数

数値

底とする数値

float型 数値(任意の数)

float型 数値(任意の数)

返値float型 自然対数

LN/LOG関数は指定された引数の自然対数を返します。引数の数値に0を指定した場合はエラーになります。OracleではLOG関数を使用する場合は、底とする数値は必須です。PostgreSQLでLOG(数値)と指定した場合は10を底としますが、LOG(底とする数値,数値)と指定することも可能です。

LOG10関数は10を底とする対数を返します。

実行例

MySQLの実行例

LN(X):X の自然対数 (つまり、X の底 e の対数) を返します。

LOG(X), LOG(B,X):1 つのパラメータで呼び出される場合、この関数は X の自然対数を返します。

LOG2(X):X の底 2 の対数を返します。

LOG10(X):X の底 10 の対数を返します。

/* MySQL 指数値の計算サンプル */
SELECT LN(数値);
SELECT LOG(数値);
SELECT LOG(数値,数値);
SELECT LOG2(数値);
SELECT LOG10(数値);
LN/LOG/LOG10関数サンプル実行結果

SQLServerの実行例

LOG(数値)、LOG(数値,対数の底):指定したの自然対数を返します。

LOG10(数値):指定した底 10 の対数を返します。

/* SQLServer 自然対数サンプル */
SELECT 
    LOG(数値)
    ,LOG(数値,数値)
    ,LOG10(数値)
    ;
LN/LOG/LOG10関数サンプル実行結果