Oracleでは、LOG()
関数は対数、ベース n2
を返します 、 n1
の 、ここで n2
は最初の引数であり、 n1
2番目です。
構文
構文は次のようになります:
LOG(n2, n1)
n2
の場所 0
以外の任意の正の値にすることができます または1
、および n1
は正の値です。
例
次に例を示します:
SELECT LOG(16, 73)
FROM DUAL;
結果:
LOG(16,73) ___________________________________________ 1.54745613972000430746600429203996036707
負の値
負の値は「範囲外」エラーになります:
SELECT LOG(-16, 73)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG(-16, 73) FROM DUAL Error report - ORA-01428: argument '-16' is out of range
2番目の引数についても同じです:
SELECT LOG(16, -73)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG(16, -73) FROM DUAL Error report - ORA-01428: argument '-73' is out of range
ゼロ
0
を渡す また、「範囲外」エラーが発生します:
SELECT LOG(0, 73)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG(0, 73) FROM DUAL Error report - ORA-01428: argument '0' is out of range
また、同じことが2番目の引数にも当てはまります:
SELECT LOG(16, 0)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG(16, 0) FROM DUAL Error report - ORA-01428: argument '0' is out of range
合格1
1
を渡す 2番目の引数の結果は0
になります :
SELECT LOG(16, 1)
FROM DUAL;
結果:
LOG(16,1) ____________ 0
1
を渡す 最初の引数の場合、「範囲外」エラーが発生します:
SELECT LOG(1, 2)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG(1, 2) FROM DUAL Error report - ORA-01428: argument '1' is out of range
表現
引数には、次のような式を含めることができます:
SELECT LOG(10 + 6, 12 * 30)
FROM DUAL;
結果:
LOG(10+6,12*30) ___________________________________________ 2.12296327408241867769444932934625579835
非数値引数
引数は、任意の数値データ型、または暗黙的に数値データ型に変換できる任意の非数値データ型にすることができます。
引数がその基準を満たさない場合に何が起こるかの例を次に示します。
SELECT LOG('Homer', 'Symptom')
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG('Homer', 'Symptom') FROM DUAL Error report - ORA-01722: invalid number
ヌル引数
LOG()
null
を返します 引数がnull
の場合 :
SET NULL 'null';
SELECT
LOG(null, 1024),
LOG(16, null),
LOG(null, null)
FROM DUAL;
結果:
LOG(NULL,1024) LOG(16,NULL) LOG(NULL,NULL) _________________ _______________ _________________ null null null
デフォルトでは、SQLclおよびSQL * Plusは、SQL SELECT
の結果としてnull値が発生するたびに空白を返します。 声明。
ただし、SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
引数がありません
LOG()
を呼び出す 引数の数が間違っているか、引数がない場合、エラーが発生します:
SELECT LOG()
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
そして:
SELECT LOG(10, 2, 3)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT LOG(10, 2, 3) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: