The tables in this section show valid assignments and comparisons between Derby data types.
Sorting and ordering of character data is controlled by the collation specified for a database when it is created, as well as the locale of the database. For details, see collation=collation attribute and territory=ll_CC attribute, as well as the sections "Creating a database with locale-based collation", "Creating a case-insensitive database", and "Character-based collation in Derby" in the Derby Developer's Guide.
The following table displays valid assignments between data types in Derby. A "Y" indicates that the assignment is valid.
| Types | B |
S |
I |
B |
D |
R |
D |
F |
C |
V |
L |
C |
V |
L |
C |
B |
D |
T |
T |
X |
U |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BOOLEAN | Y | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| SMALLINT | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| INTEGER | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| BIGINT | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DECIMAL | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| REAL | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DOUBLE | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| FLOAT | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| CHAR | - | - | - | - | - | - | - | - | Y | Y | Y | - | - | - | Y | - | Y | Y | Y | - | - |
| VARCHAR | - | - | - | - | - | - | - | - | Y | Y | Y | - | - | - | Y | - | Y | Y | Y | - | - |
| LONG VARCHAR | - | - | - | - | - | - | - | - | Y | Y | Y | - | - | - | Y | - | - | - | - | - | - |
| CHAR FOR BIT DATA | - | - | - | - | - | - | - | - | - | - | - | Y | Y | Y | - | - | - | - | - | - | - |
| VARCHAR FOR BIT DATA | - | - | - | - | - | - | - | - | - | - | - | Y | Y | Y | - | - | - | - | - | - | - |
| LONG VARCHAR FOR BIT DATA | - | - | - | - | - | - | - | - | - | - | - | Y | Y | Y | - | - | - | - | - | - | - |
| CLOB | - | - | - | - | - | - | - | - | Y | Y | Y | - | - | - | Y | - | - | - | - | - | - |
| BLOB | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | Y | - | - | - | - | - |
| DATE | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | Y | - | - | - | - |
| TIME | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | - | Y | - | - | - |
| TIMESTAMP | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | - | - | Y | - | - |
| XML | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | Y | - |
| User-defined type | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | Y |
A value of a user-defined type can be assigned to a value of any supertype of that user-defined type. However, no explicit casts of user-defined types are allowed.
The following table displays valid comparisons between data types in Derby. A "Y" indicates that the comparison is allowed.
| Types | B |
S |
I |
B |
D |
R |
D |
F |
C |
V |
L |
C |
V |
L |
C |
B |
D |
T |
T |
X |
U |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BOOLEAN | Y | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| SMALLINT | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| INTEGER | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| BIGINT | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DECIMAL | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| REAL | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DOUBLE | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| FLOAT | - | Y | Y | Y | Y | Y | Y | Y | - | - | - | - | - | - | - | - | - | - | - | - | - |
| CHAR | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | Y | Y | Y | - | - |
| VARCHAR | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | Y | Y | Y | - | - |
| LONG VARCHAR | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| CHAR FOR BIT DATA | - | - | - | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | - | - |
| VARCHAR FOR BIT DATA | - | - | - | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | - | - |
| LONG VARCHAR FOR BIT DATA | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| CLOB | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| BLOB | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DATE | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | Y | - | - | - | - |
| TIME | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | - | Y | - | - | - |
| TIMESTAMP | - | - | - | - | - | - | - | - | Y | Y | - | - | - | - | - | - | - | - | Y | - | - |
| XML | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| User-defined type | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |