Zielony Smok - logo witryny

Apache Derby: funkcja RAND

Opis

Zwraca liczę losową typu DOUBLE, która jest dodatnia, większa lub równa 0 i mniejsza od 1, dla ziarna będącego liczbą typu INTEGER.

Składnia

RANDOM(seed)

Przykład

Klasa R074_RAND
package aderby.functions.math.general;

import aderby.DerbyUtil;

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

public class R074_RAND {
    private static final String baza = "C:/Przyklady/r074_rand";
    private static final String skrypt = "aderby/src/resources/sqls/mathdata.sql";
    private static final String selectsql = "SELECT val, RAND(CAST(val AS INTEGER)) 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);
        //zamykamy polaczenie
        DerbyUtil.close(con);
        DerbyUtil.close(rs);
        //zatrzyujemy baze danych
        DerbyUtil.shutdownEmbeddedDB(baza);
        //zatrzymujemy silnik Derby
        DerbyUtil.shutdownDerbyEngine();
        DerbyUtil.dropDatabase(new File(baza));
    }
}
Plik mathdata.sql

Treść pliku mathdata.sql

Wynik

-40.6   0.2720779780065178
-39.8   0.2719883962343128
-37.9   0.27216757467988395
-37.8   0.27216757467988395
-36.8   0.2717196509176979
33.2   0.7280116037950541
36.6   0.7277428584784392
36.6   0.7277428584784392
36.7   0.7277428584784392
37.1   0.7276532767062343
37.4   0.7276532767062343
38.3   0.7279220220228492
38.9   0.7279220220228492
39.2   0.727832425349483
39.7   0.727832425349483
40.1   0.7273845313896193
41.2   0.7272949496174144

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.