LOG (SQL)
与えられた数値式の自然対数を返す、スカラ数値関数です。
構文
{fn LOG(expression)}
概要
LOG は、expression の自然対数 (基数 e) を返します。LOG は、有効桁数が 21 で小数桁数が 18 の値を返します。
LOG は、{ } 括弧構文による ODBC スカラ関数としてのみ使用できます。
引数
expression
数値式。
LOG は、NUMERIC または DOUBLE データ型のいずれかを返します。LOG は、expression がデータ型 DOUBLE の場合には DOUBLE を返し、それ以外の場合には NUMERIC を返します。
例
以下の例は、整数の自然対数を返します。
SELECT {fn LOG(5)} AS Logarithm
これは、1.60943791... を返します。
以下の埋め込み SQL の例は、整数 1 から 10 までに対する LOG 関数と EXP 関数の関係を示します。
SET a=1
WHILE a<11 {
&sql(SELECT {fn LOG(:a)} INTO :b)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE
QUIT }
ELSE {
WRITE !,"Logarithm of ",a," = ",b }
&sql(SELECT ROUND({fn EXP(:b)},12) INTO :c)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE
QUIT }
ELSE {
WRITE !,"Exponential of log ",b," = ",c
SET a=a+1 }
}
ここでは、システムの計算制限によって生じる非常に小さな差異を修正する ROUND 関数が必要なことに注意してください。上記の例では、この目的で ROUND がとりあえず小数点以下 12 桁に設定されています。
関連項目