【SQL】 LOG関数の使い方(対数を求める)
LOG関数は ORACLE MS-SQL MS-Access に対応しています。
LOG関数 : 書式
ORACLE
書式 LOG(base, number)
引数 number : 数値
base : 底
戻値 対数
引数 number : 数値
base : 底
戻値 対数
MS-SQL Server
書式 LOG(number)
引数 number : 数値
戻値 対数
引数 number : 数値
戻値 対数
LOG関数 : 解説 (ORACLE)
LOG関数は、対数を求める関数です。ORACLEとSQL-Serverでは実装が異なりますので、それぞれ解説します。
ORACLE
ORACLEでのLOG関数の引数は2つ以上になります。1つは底として用いる引数「base」、もう1つは、計算のもとになる数値「number」です。
LOG関数 : 使用例 (ORACLE)
「e(=2.718281828)」を底とする対数を求めるSQL文は、次のようになります。
SQL文
SELECT 数値, LOG(2.71281828, 数値) FROM log_db;
実行結果
数値 | LOG(2.71281828, 数値) |
---|---|
0.5 | 0.367879441 |
1 | 0.60653066 |
2 | 1 |
4 | 1.64872127 |
また「2」を底とする対数を求めるSQL文は次のようになります。
SQL文
SELECT 数値, LOG(2.0, 数値) FROM log_db;
実行結果
数値 | LOG(2.0, 数値) |
---|---|
0.5 | -1 |
1 | 0 |
2 | 1 |
4 | 2 |
LOG関数 : 解説 (MS-SQL Server)
SQL ServerでのLOG関数は、「e」を底とする自然対数を求めることができます。SQL Serverでは、Oracleと違い、底を指定することはできません。
LOG関数 : 使用例 (MS-SQL Server)
SQL文
SELECT 数値, LOG(数値) 自然対数 FROM log_db;
実行結果
数値 | 自然対数 |
---|---|
0.5 | -0.69314718055994529 |
1 | 0.0 |
2 | 0.69314718055994529 |
4 | 1.3862943611198906 |