对用户定义的强制转型的限制

不能在两种内置数据类型之间创建用户定义的强制转型。也不能创建包括下列任何数据类型的用户定义的强制转型:
  • 集合数据类型:LIST、MULTISET 或 SET
  • 未命名行类型
  • 智能大对象数据类型:CLOB 或 BLOB
  • 简单大对象数据类型:TEXT 或 BYTE

通常,两种数据类型之间的强制转型要求每种数据类型都表示相同数目的组件值。例如:如果行类型中的每个字段在不透明数据类型中有对应的字段,则可以在行类型与不透明数据类型之间进行强制转型。当您想要在两种具有相同存储结构的数据类型之间执行转换时,可使用不带强制转型函数的 CREATE CAST 语句。否则,必须创建以后可以使用 CREATE CAST 语句进行注册的强制转型函数。 有关如何使用强制转型函数来创建用户定义的强制转型的示例,请参阅为用户定义的强制转型创建强制转型函数