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 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |