Zielony Smok - logo witryny

Apache Derby: funkcja LOG (LN)

Opis

Zwraca logarytm naturalny (o podstawie e) podanej wartości loge(wartość). Zwracany wynik jest DOUBLE.

W matematyce oznaczany jako lnx albo logex

Składnia

LOG(wartość)

albo

LN(wartość)

Ograniczenia

‘wartość’ musi być DOUBLE i większa od 0

Jeśli ‘wartość’ jest:

  • NULL – wynik jest NULL
  • mniejsza od zera lub równa 0 – wyrzucany jest wyjątek
Klasa R074_LOG:
package aderby.functions.math.general;

import aderby.DerbyUtil;

import java.io.*;
import java.sql.*;

public class R074_LOG {
    private static final String baza = "C:/Przyklady/r074_log";
    private static final String skrypt = "aderby/src/resources/sqls/mathdata.sql";
    private static final String selectsql = "SELECT val, LOG(ABS(val)) FROM mathdata";

    public static void main(String[] args) {
        DerbyUtil.startDerbyEngine(DerbyUtil.embdriver);
        Connection con = DerbyUtil.connectEmbeddedDB(baza, ";create=true");
        DerbyUtil.jdbcRunScript(skrypt, con);
        Statement stat = null;
        ResultSet rs = null;
        try {
            stat = con.createStatement();
            rs = stat.executeQuery(selectsql);
            while (rs.next()) {
                System.out.println(rs.getDouble(1) + "   " + rs.getDouble(2));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        DerbyUtil.close(stat);
        DerbyUtil.close(con);
        DerbyUtil.close(rs);
        DerbyUtil.shutdownEmbeddedDB(baza);
        DerbyUtil.shutdownDerbyEngine();
        DerbyUtil.dropDatabase(new File(baza));
    }
}
Plik mathdata.sql

Treść pliku mathdata.sql

Wynik

-40.6   3.703768066607687
-39.8   3.6838669122903918
-37.9   3.6349511120883804
-37.8   3.632309102625542
-36.8   3.6054978451748854
33.2   3.502549875922443
36.6   3.6000482404073204
36.6   3.6000482404073204
36.7   3.6027767550605247
37.1   3.6136169696133895
37.4   3.6216707044204863
38.3   3.6454498961866
38.9   3.6609942506244004
39.2   3.6686767467964168
39.7   3.681351187693145
40.1   3.6913763343125234
41.2   3.7184382563554808

Pliki do ściągnięcia

Aktualny (tworzony narastająco) plik module-info.java

Aktualny (tworzony narastająco) plik DerbyUtil.java

Pliki tworzone narastająco zastępują poprzednie pliki o tej samej nazwie i działają dla wszystkich wcześniej opublikowanych przykładów we wszystkich wpisach w projekcie. W przypadku pliku module-info.java może być potrzebne skreślenie niepotrzebnych wpisów.