Oracle PL/SQL Tutorial/Numerical Math Functions/Log

Материал из SQL эксперт
Перейти к: навигация, поиск

Get the log of 8, base 2

   <source lang="sql">

SQL> -- create demo table SQL> create table myTable(

 2    id           NUMBER(2),
 3    value        NUMBER(6,2)
 4  )
 5  /

Table created. SQL> SQL> -- prepare data SQL> insert into myTable(ID, value)values (1,9)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (2,2.11)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (3,3.44)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (4,-4.21)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (5,10)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (6,3)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (7,-5.88)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (8,123.45)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (9,98.23)

 2  /

1 row created. SQL> SQL> select * from myTable

 2  /
       ID      VALUE

----------
        1          9
        2       2.11
        3       3.44
        4      -4.21
        5         10
        6          3
        7      -5.88
        8     123.45
        9      98.23

9 rows selected. SQL> SQL> SELECT LOG(2,8) FROM myTable

 2  /
 LOG(2,8)

        3
        3
        3
        3
        3
        3
        3
        3
        3

9 rows selected. SQL> SQL> SQL> SQL> -- clean the table SQL> drop table myTable

 2  /

Table dropped. SQL></source>


LOG(2, 4)

   <source lang="sql">

SQL> select LOG(2, 4) from dual;

 LOG(2,4)

        2</source>
   
  

LOG(2, 5)

   <source lang="sql">

SQL> select LOG(2, 5) from dual;

 LOG(2,5)

2.32192809</source>


Log and Exponential Functions

  1. LN returns natural logs, that is, logs with respect to base e.
  2. LOG returns base 10 log.
  3. EXP returns e raised to a value.
  4. POWER returns value raised to some exponential power.

14. 14. Log 14. 14. 1. Log and Exponential Functions 14. 14. 2. <A href="/Tutorial/Oracle/0280__Numerical-Math-Functions/UsingtheLOGfunction.htm">Using the LOG function</a> 14. 14. 3. <A href="/Tutorial/Oracle/0280__Numerical-Math-Functions/Getthelogof8base2.htm">Get the log of 8, base 2</a> 14. 14. 4. <A href="/Tutorial/Oracle/0280__Numerical-Math-Functions/LOG24.htm">LOG(2, 4)</a> 14. 14. 5. <A href="/Tutorial/Oracle/0280__Numerical-Math-Functions/LOG25.htm">LOG(2, 5)</a>

Using the LOG function

The LOG function requires two arguments.

The first argument is the base of the log.

The second argument is the number that you want to take the log of.

In the following example, we take the log of base value 2.



   <source lang="sql">

SQL> -- create demo table SQL> create table myTable(

 2    id           NUMBER(2),
 3    value        NUMBER(6,2)
 4  )
 5  /

Table created. SQL> SQL> -- prepare data SQL> insert into myTable(ID, value)values (1,9)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (2,2.11)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (3,3.44)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (5,10)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (6,3)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (8,123.45)

 2  /

1 row created. SQL> insert into myTable(ID, value)values (9,98.23)

 2  /

1 row created. SQL> SQL> select * from myTable

 2  /
       ID      VALUE

----------
        1          9
        2       2.11
        3       3.44
        5         10
        6          3
        8     123.45
        9      98.23

7 rows selected. SQL> SQL> SQL> SELECT LOG(value, 2)FROM myTable

 2  /

LOG(VALUE,2)


 .315464877
 .928295659
 .561038597
 .301029996
 .630929754
 .143930804
 .151100956

7 rows selected. SQL> SQL> SQL> SQL> -- clean the table SQL> drop table myTable

 2  /

Table dropped. SQL> SQL> SQL> SQL> SQL></source>