Zielony Smok - logo witryny

Typ danych BIGINT

Opis

Liczba całkowita 8 bajtów (64 bity).

Składnia

BIGINT

Ograniczenia

Jeśli podana liczba przekracza zakres typu zostanie zapisana jako DECIMAL.

Odpowiadający typ Java

java.lang.Long

Odpowiadający typ JDBC

java.sql.Types.BIGINT

Zakres

min max
java.lang.Long.MIN_VALUE=
-9 223 372 036 854 775 808
java.lang.Long.MAX.VALUE=
+9 223 372 036 854 775 807
Klasa R041.java
package aderby.types;

import aderby.DerbyUtil;

import java.sql.*;
import java.util.Objects;

public class R041_BIGINT {
    private static final String baza = "C:/Przyklady/R041";
    private static final String createTable ="CREATE TABLE primes(\n" +
            "            id INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY(\n" +
            "                START WITH 1, INCREMENT BY 1),\n" +
            "            val BIGINT)";

    public static void main(String[] args) {
        DerbyUtil.startDerbyEngine(DerbyUtil.embdriver);
        //Utworzenie połączenia i bazy danych
        Connection con = DerbyUtil.connectEmbeddedDB(baza, ";create=true");
        Statement stat = null;
        try {
            //Utworzenie polecenia
            stat = con.createStatement();
            //wykonanie polecenia utworzenia tabeli
            stat.execute(createTable);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        //wstawienie danych
        PreparedStatement pstm = null;
        try {
            //Tworzymy polecenie przygotowywane umożliwiające wstawienie danych do tabeli
            //wartości do kolumny id wstawiane będą z automatu
            //wartości w kolumnie drugiej val musimy podać
            pstm = con.prepareStatement("INSERT INTO primes VALUES(DEFAULT,?)");
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        for (int i = 0; i < 100; i++) {
            //losujemy liczbę w zakresie od i włącznie do 5000 włącznie
            long liczba = DerbyUtil.randomInRange(i, 5000);
            //znajdujemy najbliższą liczbę pierwszą większą od wylosowanej
            long prime = DerbyUtil.getPrime(liczba);
            try {
                //wstawiamy liczbę do kolumny prime, czyli zamiast 1 (pierwszego) znaku
                //zapytania w poleceniu przygotowywanym
                Objects.requireNonNull(pstm).setLong(1, prime);
                //wstawiamy liczbę do tabeli
                pstm.execute();
                //czyścimy parametry
                pstm.clearParameters();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        ResultSet rs = null;
        try {
            //Wykonujemy zapytanie tworzące ResultSet. Gdybyśmy chcieli wykonać następne
            //zapytanie musielibyśmy utworzyć nowy obiekt Statement
            rs = Objects.requireNonNull(stat).executeQuery("SELECT * FROM primes WHERE val > 1000");
            //wypisujemy wyniki na konsoli
            while (rs.next()) {
                System.out.println(rs.getLong("val"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        //Zamykamy utworzone obiekty
        DerbyUtil.close(pstm);
        DerbyUtil.close(rs);
        DerbyUtil.close(stat);
        DerbyUtil.close(con);
        DerbyUtil.shutdownEmbeddedDB(baza);
        DerbyUtil.shutdownDerbyEngine();
    }
}

Po uruchomieniu klasy na konsoli zobaczymy sto losowych liczb pierwszych:

3833
1399
3527
2017
3931
1669
3989
1721
4987
4493
4861
2029
4229
4663
3833
3449
3209
4049
3271
1811
4621
4903
2657
3109
4523
4139
3299
1693
3911
3449
1193
1559
2393
2621
2999
2699
3499
2579
4391
3863
1997
2851
4201
4651
1993
3163
1399
2917
1759
2789
4073
1201
4129
3319
4799
4957
1531
2819
1693
2749
4493
1567
3163
4547
2647
1801
2539
2351
2777
2069
2857
2467
4177
4253
1129
2459
1427
4889
1399
2459
2683
2063
1949
1801
2399
4133
2729
4733
4201
4049
1303
3923
3359
1123
4603
3221
4751
4943
3323
4903
4637
2897
3847
3779
3533
1459
4783
1721
3181
2011
4673
4787
2399
4451
1607
1619
3581
4591
2017
3761
4079
1831
4523
3137
4721
1811
3037
4391
3221
1847
3643
4751
4987
4283
3967
2777
2347
3517
3877
2417
1039
1019
1453
2503
2203
1637
4127
1423
3511
3877
4987
4547
4073
2969
4177
4561
1471
2633
2411
1033
4943
1049
1499
1709
2267
3719

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.