Note: MySQL and Java DB currently do not support the DISTINCT SQL data type. Consequently, no JDBC tutorial example is available to demonstrate the features described in this section.
The DISTINCT data type behaves differently from the other advanced SQL data types.
Being a user-defined type that is based on one of the already existing built-in
types, it has no interface as its mapping in the Java programming language.
Instead, the standard mapping for a DISTINCT data type is the Java
type to which its underlying SQL data type maps.
To illustrate, create a DISTINCT data type and then see how to
retrieve, set, or update it. Suppose you always use a two-letter abbreviation
for a state and want to create a DISTINCT data type to be used for
these abbreviations. You could define your new DISTINCT data type with
the following SQL statement:
CREATE TYPE STATE AS CHAR(2);
Some databases use an alternate syntax for creating a DISTINCT data type,
which is shown in the following line of code:
CREATE DISTINCT TYPE STATE AS CHAR(2);
If one syntax does not work, you can try the other. Alternatively, you can check the documentation for your driver to see the exact syntax it expects.
These statements create a new data type, STATE, which can be
used as a column value or as the value for an attribute of a SQL structured
type. Because a value of type STATE is in reality a value that
is two CHAR types, you use the same method to retrieve it that you
would use to retrieve a CHAR value, that is, getString.
For example, assuming that the fourth column of ResultSet rs stores values of type STATE, the following
line of code retrieves its value:
String state = rs.getString(4);
Similarly, you would use the method setString to store a STATE value in the database and the method updateString to modify its value.