Data type assignments and comparison, sorting, and ordering The tables in this section show valid assignments and comparisons between data types. data typesassignments and comparisons

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 " in the .

The following table displays valid assignments between data types in . A "Y" indicates that the assignment is valid.

Assignments allowed by <ph conref="../conrefs.dita#prod/productshortname"></ph>This table lists the valid assignments between data types in . Types B O O L E A N S M A L L I N T I N T E G E R B I G I N T D E C I M A L R E A L D O U B L E F L O A T C H A R V A R C H A R L O N G V A R C H A R C H A R F O R B I T D A T A V A R C H A R F O R B I T D A T A L O N G V A R C H A R F O R B I T D A T A C L O B B L O B D A T E T I M E T I M E S T A M P X M L U s e r - d e f i n e d t y p e 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 . A "Y" indicates that the comparison is allowed.

Comparisons allowed by DerbyThis table lists the valid comparisons between data types in . Types B O O L E A N S M A L L I N T I N T E G E R B I G I N T D E C I M A L R E A L D O U B L E F L O A T C H A R V A R C H A R L O N G V A R C H A R C H A R F O R B I T D A T A V A R C H A R F O R B I T D A T A L O N G V A R C H A R F O R B I T D A T A C L O B B L O B D A T E T I M E T I M E S T A M P X M L U s e r - d e f i n e d t y p e 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 - - - - - - - - - - - - - - - - - - - - -