Oracle PL/SQL/Numeric Math Functions/LOG

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

Get the log of 8, base 2

SQL> -- create demo table
SQL> create table TestTable(
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
  3    MyName             VARCHAR2(10 BYTE),
  4    MyDate             DATE,
  5    MyNumber           Number(8,2)
  6  )
  7  /
Table created.
SQL>
SQL>
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19960711","YYYYMMDD"),12.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19970622","YYYYMMDD"),1.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19980513","YYYYMMDD"),22.1);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19990624","YYYYMMDD"),2.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("20000415","YYYYMMDD"),2.1);
1 row created.
SQL>
SQL>
SQL> select * from TestTable
  2
SQL>
SQL> --Get the log of 8, base 2
SQL> SELECT LOG(2,8), LOG(2,MyNumber) FROM TestTable;
  LOG(2,8) LOG(2,MYNUMBER)
---------- ---------------
         3      3.59931779
         3      .163498732
         3      4.46597446
         3      1.08406426
         3      1.07038933
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> drop table TestTable;
Table dropped.
SQL>



LOG(2, 5)

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



LOG: The first argument is the base, and the second is the number that you want to take the log of

SQL>
SQL>
SQL> -- create demo table
SQL> create table TestTable(
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
  3    MyName             VARCHAR2(10 BYTE),
  4    MyDate             DATE,
  5    MyNumber           Number(8,2)
  6  )
  7  /
Table created.
SQL>
SQL>
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19960711","YYYYMMDD"),12.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19970622","YYYYMMDD"),2.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19980513","YYYYMMDD"),22.1);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19990624","YYYYMMDD"),2.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("20000415","YYYYMMDD"),2.1);
1 row created.
SQL>
SQL>
SQL> select * from TestTable
  2
SQL>
SQL> --LOG: The first argument is the base, and the second is the number that you want to take the log of
SQL>
SQL> SELECT LOG(MyNumber, 2) FROM TestTable;
LOG(MYNUMBER,2)
---------------
     .277830427
     .922454538
     .223915297
     .922454538
     .934239509
SQL>
SQL>
SQL>
SQL>
SQL> drop table TestTable;



LOG(x, y):Returns the logarithm, base x, of y

SQL> --LOG(x, y):Returns the logarithm, base x, of y.
SQL>
SQL> select LOG(2, 4) from dual;
  LOG(2,4)
----------
         2
SQL>