java.sql.Types
), Umsetzung vom Treiber erledigt
getXXX()
, setXXX()
und registerOutParameter()
vorgenommen
CREATE TABLE
-> SQL-Typen benötigt -> mit
DatabaseMetaData.getTypeInfo()
Infos holen
CHAR(n)
, VARCHAR(n)
(n bis mindestens 254
unterstützt)
LONGVARCHAR
nicht standardisiert, oft unterschiedliche Namen -> Anpassungen
von JDBC vorgenommen
String
CHAR(n)
) Lägendifferenz durch Leerzeichen
ausgeglichen
(n)
byte[]
BIT
-> boolean
TINYINT
ist ein unsigned 8-Bit-Wert (nicht immer unterstützt) ->
byte
(signed!) oder short
(16 Bit)
SMALLINT
ist ein signed 16-Bit-Wert -> short
(vorzuziehen)
INTEGER
ist ein signed 32-Bit-Wert -> int
BIGINT
ist ein signed 64-Bit-Wert (nicht standardisiert) -> long
REAL
ist ein Gleitkommawert mit 7-Bit-Mantisse -> float
DOUBLE
und FLOAT
beides Gleitkommawerte mit 15-Bit-Mantisse
-> double
(DOUBLE
ist vorzuziehen)
DECIMAL
kann
nachträglich noch angepasst werden
DECIMAL/NUMERIC(n, m)
, wobei n
die Gesamtanzahl
von Dezimalstellen und m
die Anzahl nach dem Komma ist (mindestens 15
unterstützt)
java.math.BigDecimal
DATE
enthält ein Datum -> java.sql.Date
(Zeit auf
0:00:00.0 gesetzt)
TIME
enthält eine Zeit -> java.sql.Time
(Datum auf
1.1.1970 gesetzt)
TIMESTAMP
enthält beides plus einen Nanosekunden-Wert ->
java.sql.Timestamp
java.util.Date
-> können überall dort
verwendet werden, wo java.util.Date
erwartet wird
Timestamp
in java.util.Date
, um
zumindest die Millisekunden zu erhalten:
// 1.1.2000, fast 15:45:30 Timestamp t = new Timestamp(100, 0, 1, 15, 45, 29, 987245732); java.util.Date d = new java.util.Date( t.getTime() + (t.getNanos() / 1000000)); |
Calendar
Array
's, Struct
's, Ref
'erences und
Locator
's
BLOB
- Binary Large OBject und CLOB
- Character Large OBject
CREATE TYPE PLANE_POINT (X FLOAT, Y FLOAT)
SQLData
JDBC type | Java type |
---|---|
CHAR | String |
VARCHAR | String |
LONGVARCHAR | String |
NUMERIC | java.math.BigDecimal |
DECIMAL | java.math.BigDecimal |
BIT | boolean |
TINYINT | byte |
SMALLINT | short |
INTEGER | int |
BIGINT | long |
REAL | float |
FLOAT | double |
DOUBLE | double |
BINARY | byte[] |
VARBINARY | byte[] |
LONGVARBINARY | byte[] |
DATE | java.sql.Date |
TIME | java.sql.Time |
TIMESTAMP | java.sql.Timestamp |
Java Type | JDBC type |
---|---|
String | VARCHAR or LONGVARCHAR |
java.math.BigDecimal | NUMERIC |
boolean | BIT |
byte | TINYINT |
short | SMALLINT |
int | INTEGER |
long | BIGINT |
float | REAL |
double | DOUBLE |
byte[] | VARBINARY or LONGVARBINARY |
java.sql.Date | DATE |
java.sql.Time | TIME |
java.sql.Timestamp | TIMESTAMP |
JDBC Type | Java Object Type |
---|---|
CHAR | String |
VARCHAR | String |
LONGVARCHAR | String |
NUMERIC | java.math.BigDecimal |
DECIMAL | java.math.BigDecimal |
BIT | Boolean |
TINYINT | Integer |
SMALLINT | Integer |
INTEGER | Integer |
BIGINT | Long |
REAL | Float |
FLOAT | Double |
DOUBLE | Double |
BINARY | byte[] |
VARBINARY | byte[] |
LONGVARBINARY | byte[] |
DATE | java.sql.Date |
TIME | java.sql.Time |
TIMESTAMP | java.sql.Timestamp |
Java Object Type | JDBC Type |
---|---|
String | VARCHAR or LONGVARCHAR |
java.math.BigDecimal | NUMERIC |
Boolean | BIT |
Integer | INTEGER |
Long | BIGINT |
Float | REAL |
Double | DOUBLE |
byte[] | VARBINARY or LONGVARBINARY |
java.sql.Date | DATE |
java.sql.Time | TIME |
java.sql.Timestamp | TIMESTAMP |
T I N Y I N T | S M A L L I N T | I N T E G E R | B I G I N T | R E A L | F L O A T | D O U B L E | D E C I M A L | N U M E R I C | B I T | C H A R | V A R C H A R | L O N G V A R C H A R | B I N A R Y | V A R B I N A R Y | L O N G V A R B I N A R Y | D A T E | T I M E | T I M E S T A M P | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
java.math.BigDecimal | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||
Boolean | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||
Integer | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||
Long | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||
Float | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||
Double | x | x | x | x | x | x | x | x | x | x | x | x | x | ||||||
byte[] | x | x | x | ||||||||||||||||
java.sql.Date | x | x | x | x | x | ||||||||||||||
java.sql.Time | x | x | x | x | |||||||||||||||
java.sql.Time-stamp | x | x | x | x | x | x |
T I N Y I N T | S M A L L I N T | I N T E G E R | B I G I N T | R E A L | F L O A T | D O U B L E | D E C I M A L | N U M E R I C | B I T | C H A R | V A R C H A R | L O N G V A R C H A R | B I N A R Y | V A R B I N A R Y | L O N G V A R B I N A R Y | D A T E | T I M E | T I M E S T A M P | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
getByte | X | x | x | x | x | x | x | x | x | x | x | x | x | ||||||
getShort | x | X | x | x | x | x | x | x | x | x | x | x | x | ||||||
getInt | x | x | X | x | x | x | x | x | x | x | x | x | x | ||||||
getLong | x | x | x | X | x | x | x | x | x | x | x | x | x | ||||||
getFloat | x | x | x | x | X | x | x | x | x | x | x | x | x | ||||||
getDouble | x | x | x | x | x | X | X | x | x | x | x | x | x | ||||||
getBigDecimal | x | x | x | x | x | x | x | X | X | x | x | x | x | ||||||
getBoolean | x | x | x | x | x | x | x | x | x | X | x | x | x | ||||||
getString | x | x | x | x | x | x | x | x | x | x | X | X | x | x | x | x | x | x | x |
getBytes | X | X | x | ||||||||||||||||
getDate | x | x | x | X | x | ||||||||||||||
getTime | x | x | x | X | x | ||||||||||||||
getTimestamp | x | x | x | x | X | ||||||||||||||
getAsciiStream | x | x | X | x | x | x | |||||||||||||
getUnicodeStream | x | x | X | x | x | x | |||||||||||||
getBinaryStream | x | x | X | ||||||||||||||||
getObject | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x |