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