Oracle PL/SQL Tutorial/Numerical Math Functions/Log

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

Get the log of 8, base 2

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>


LOG(2, 4)

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


LOG(2, 5)

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


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.



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>