📜  PLSQL |日志函数

📅  最后修改于: 2022-05-13 01:55:49.232000             🧑  作者: Mango

PLSQL |日志函数

PLSQL LOG函数用于返回以 m 为底的 n 的对数。 LOG函数接受两个用于计算对数值的参数。 LOG函数返回数值数据类型的值。

此函数将任何数字数据类型以及可以隐式转换为数字数据类型的任何非数字数据类型作为参数。如果在任何情况下,参数是 BINARY_FLOAT 或 BINARY_DOUBLE,则 LOG函数返回 BINARY_DOUBLE,否则返回数字。

句法:

LOG( m, n )

使用的参数:

m –用于指定基数。它应该是除 0 和 1 之外的任何正数值。

n –用于指定需要以特定底数计算其对数值的数。它应该是一个正数值。

返回值:
PLSQL 中的 LOG函数返回一个数值。

支持的 Oracle/PLSQL 版本:

  1. 甲骨文 12c
  2. 甲骨文 11g
  3. 甲骨文 10g
  4. 甲骨文 9i
  5. 甲骨文 8i

示例 1:在 LOG函数中使用正数值作为参数。

DECLARE 
   Test_Number1 number := 9;
   Test_Number2 number := 3;
   
BEGIN 
   dbms_output.put_line(LOG(Test_Number1, 
                            Test_Number2)); 
   
END; 

输出:

0.5 

示例 2:在 LOG函数中使用正数值作为参数。

DECLARE 
   Test_Number1 number := 3;
   Test_Number2 number := 9;
   
BEGIN 
   dbms_output.put_line(LOG(Test_Number1, 
                            Test_Number2)); 
   
END; 

输出:

2 

示例 3:在 LOG函数的两个参数中使用相同的正数值。

DECLARE 
   Test_Number1 number := 3;
   Test_Number2 number := 3;
   
BEGIN 
   dbms_output.put_line(LOG(Test_Number1, 
                            Test_Number2)); 
   
END; 

输出:

1 

示例 4:在 LOG函数的基值参数中使用零。

DECLARE 
   Test_Number1 number := 0;
   Test_Number2 number := 3;
   
BEGIN 
   dbms_output.put_line(LOG(Test_Number1, 
                            Test_Number2)); 
   
END; 

输出:

numeric or value error 

上面的示例引发错误,因为 LOG函数在参数中没有将 0 和 1 作为基值。

示例 5:将 LOG函数与 select 查询一起使用。

SELECT LOG(2, 8) "Log base 2 of 8" FROM DUAL; 

输出:

3 

好处:
LOG函数接受任何数值数据类型以及任何非数值数据类型作为可隐式转换为数值数据类型的参数。