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.