Apache Derby: typ danych CHAR
Opis
Łańcuch znaków o stałej wskazanej długości od 1 d0 254 znaków
Składnia
CHAR
(liczba znaków)
albo
CHARACTER
(liczba znaków)
Odpowiadający typ Java
java.lang.String
Odpowiadający typ JDBC
java.sql.Types.CHAR
Ograniczenia
Jeśli wstawiany łańcuch jest krótszy niż podany, to łańcuch znaków jest automatycznie uzupełniony spacjami do podanej długości. Jeśli jest dłuższy niż podany – nadmiarowa część znaków jest obcinana.
Gdy porównywane są dwa łańcuchy znaków różnej długości (CHAR i CHAR albo CHAR i VARCHAR), krótszy łańcuch znaków jest uzupełniany spacjami do takiej długości jakiej jest dłuższy łańcuch znaków.
Przykład
Klasa R048.java
package aderby.types; import aderby.DerbyUtil; import java.sql.*; public class R048_CHAR { private static final String baza = "C:/Przyklady/R048"; private static final String skrypt = "aderby/src/resources/sqls/dictionary.sql"; public static void main(String[] args) { DerbyUtil.startDerbyEngine(DerbyUtil.embdriver); Connection con = DerbyUtil.connectEmbeddedDB(baza, ";create=true"); DerbyUtil.jdbcRunScript(skrypt, con); //pobranie danych Statement stat = null; ResultSet rs = null; try { stat = con.createStatement(); rs = stat.executeQuery("SELECT * FROM dictionary"); while (rs.next()) { System.out.println( rs.getString("english") + " " + rs.getString("polski")); } } catch (SQLException e) { e.printStackTrace(); } DerbyUtil.close(rs); DerbyUtil.close(stat); DerbyUtil.close(con); DerbyUtil.shutdownEmbeddedDB(baza); DerbyUtil.shutdownDerbyEngine(); } }
Plik dictionary.sql
CREATE TABLE dictionary( id INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY( START WITH 1, INCREMENT BY 1), english CHAR(30), polski CHAR (30) ); CREATE INDEX i_english ON dictionary (english ASC); CREATE INDEX i_polski ON dictionary (polski ASC); INSERT INTO dictionary VALUES (DEFAULT, 'cat','kot'); INSERT INTO dictionary VALUES (DEFAULT, 'dog','pies'); INSERT INTO dictionary VALUES (DEFAULT, 'pig','świnia'); INSERT INTO dictionary VALUES (DEFAULT, 'aphid','mszyca'); INSERT INTO dictionary VALUES (DEFAULT, 'crocodile','krokodyl'); INSERT INTO dictionary VALUES (DEFAULT, 'ostrich','struś'); INSERT INTO dictionary VALUES (DEFAULT, 'oyster','ostryga'); INSERT INTO dictionary VALUES (DEFAULT, 'bedbug','pluskwa');
Po uruchomieniu klasy na konsoli otrzymujemy:
cat kot dog pies pig świnia aphid mszyca crocodile krokodyl ostrich struś oyster ostryga bedbug pluskwa
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.