SQL Serverでは、T-SQL LOG()
functionは、指定されたfloat式の自然対数を返す数学関数です。
float式を引数として指定します。対数の底を設定するための2番目の(オプションの)引数を指定することもできます。
構文
構文は次のようになります:
LOG ( float_expression [, base ] )
float_expressionの場所 float型、または暗黙的にfloatに変換できる型の式であり、 base 対数の底を設定するオプションの整数引数です。
例1–1つの引数
これは、1つの引数を使用してこの関数がどのように機能するかを示す基本的な例です。
SELECT LOG(10) Result;
結果:
+------------------+ | Result | |------------------| | 2.30258509299405 | +------------------+
そして、これは別の値を使用した別の例です。
SELECT LOG(0.5) Result;
結果:
+--------------------+ | Result | |--------------------| | -0.693147180559945 | +--------------------+
例2–負の値
負の値を渡す例を次に示します。
SELECT LOG(-10) Result;
結果:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
この例では、対数は1以外の正の数に対してのみ返されるため、エラーが返されます。
例3–ゼロ
引数としてゼロを渡す例を次に示します(前の例と同じ結果が得られます)。
SELECT LOG(0) Result;
結果:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
例4–パスイン1
値1を渡すと、ゼロになります。
SELECT LOG(1) Result;
結果:
+----------+ | Result | |----------| | 0 | +----------+
例5–式
次のような式を渡すことができます:
SELECT LOG(2+3) Result;
結果:
+-----------------+ | Result | |-----------------| | 1.6094379124341 | +-----------------+
これは事実上、これを行うのと同じです:
SELECT LOG(5) Result;
結果:
+-----------------+ | Result | |-----------------| | 1.6094379124341 | +-----------------+
例6–2つの引数
これは、2つの引数を使用してこの関数がどのように機能するかを示す例です。
SELECT LOG(10, 100) Result;
結果:
+----------+ | Result | |----------| | 0.5 | +----------+
そして別の例を使用して:
SELECT LOG(100, 10) Result;
結果:
+----------+ | Result | |----------| | 2 | +----------+
MySQLバージョンのLOG()
に精通している場合 、2つの引数の構文は、T-SQLバージョンとは逆の順序を使用していることに気付くでしょう(つまり、ベースが最初になります)。
例7–1のベースを使用する
1
を使用する場合 ベースとして、エラーが発生します。
SELECT LOG(10, 1) Result;
結果:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
最初の引数がゼロ以下の場合も同じです:
SELECT LOG(0, 10) Result;
結果:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
T-SQLにはEXP()
もあります LOG()
の逆関数 機能。
LOG10()
を使用することもできます 関数。指定されたfloat式の常用対数を返します。この関数を使用することは、10
を渡すことと同じです。 LOG()
の2番目の引数として 機能。