Implicit Casts
An implicit cast is a cast that the database server can invoke automatically when it encounters data types that cannot be compared with built-in casts. This type of cast enables the database server to automatically handle conversions between other data types.
To define an implicit cast, specify the IMPLICIT keyword in the
CREATE CAST statement. For example, the following CREATE CAST statement
specifies that the database server should automatically use the prcnt_to_char(
) function to convert from the CHAR data type to a distinct data
type, percent:
CREATE IMPLICIT CAST (CHAR AS percent WITH char_to_prcnt);
This cast only supports automatic conversion from the CHAR
data type to percent. For the database server to convert from percent to CHAR,
you also need to define another implicit cast, as follows:
CREATE IMPLICIT CAST (percent AS CHAR WITH prcnt_to_char);
The database server automatically invokes the char_to_prcnt(
) function to evaluate the WHERE clause of the following SELECT
statement:
SELECT commission FROM sales_rep WHERE commission > "25
Users can also invoke implicit casts explicitly. For more information on how to explicitly invoke a cast function, see Explicit Casts.
When a built-in cast does not exist for conversion between data types, you can create user-defined casts to make the necessary conversion.