PLSQL | LOG Function

The PLSQL LOG function is used for returning the logarithm of n base m. The LOG function accepts two parameters which are used to calculate the logarithmic value. The LOG function returns a value of the numeric data type.

This function takes as an argument any numeric data type as well as any non-numeric data type that can be implicitly converted to a numeric data type. If in any case, the argument is BINARY_FLOAT or BINARY_DOUBLE, then the LOG function returns BINARY_DOUBLE, otherwise it returns number.

Syntax:



LOG( m, n )

Parameters Used:

m – It is used to specify the base number. It should be any positive numeric value except 0 and 1.

n – It is used to specify the number whose logarithmic value needs to be calculated with a specific base. It should be a positive numeric value.

Return Value:
The LOG function in PLSQL returns a numeric value.

Supported Versions of Oracle/PLSQL:

  1. Oracle 12c
  2. Oracle 11g
  3. Oracle 10g
  4. Oracle 9i
  5. Oracle 8i

Example-1: Using positive numeric values as arguments in the LOG function.

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

Output:

0.5 

Example-2: Using positive numeric values as arguments in the LOG function.

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

Output:

2 

Example-3: Using same positive numeric values in both the arguments in the LOG function.


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

Output:

1 

Example-4: Using zero in the base value argument in the LOG function.

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

Output:

numeric or value error 

The above example throws error because the LOG function doesn’t except 0 and 1 as base values in the argument.

Example-5: Using LOG function with select query.

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

Output:

3 

Advantages:
The LOG function accepts any numeric datatype as well as any non-numeric datatype as an argument that can be implicitly converted to a numeric datatype.



My Personal Notes arrow_drop_up

I am a technology enthusiast who has a keen interest in programming I am pursuing Engineering in Computer Science from GEU, Dehradun I like to unwind by watching movies and English sitcomsI have a keen interest in music

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.