Explicit Casts
An explicit cast is a cast that you must specifically invoke, with either the CAST AS keywords or with the cast operator ( :: ). The database server does not automatically invoke an explicit cast to resolve data type conversions. The EXPLICIT keyword is optional; by default, the CREATE CAST statement creates an explicit cast.
The following CREATE CAST statement defines an explicit cast from
the rate_of_return opaque data type to the percent distinct
data type:
CREATE EXPLICIT CAST (rate_of_return AS percent
WITH rate_to_prcnt);
The following SELECT statement explicitly invokes this explicit
cast in its WHERE clause to compare the bond_rate column (of
type rate_of_return) to the initial_APR column (of type percent):
SELECT bond_rate FROM bond
WHERE bond_rate::percent > initial_APR;