用户定义的强制转型

当数据库服务器没有提供用于执行两种数据类型之间的转换的内置强制转型时,可以创建用户定义的强制转型来处理强制转型。通常,用户定义的强制转型用来为下列扩展数据类型提供强制转型:
不透明数据类型
不透明数据类型的开发者必须定义强制转型来处理不透明数据类型的内部/外部表示法之间的转换。有关如何为不透明数据类型创建和注册强制转型的信息,请参阅 GBase 8s 用户定义的例程与数据类型开发者指南
单值数据类型
不能直接将单值数据类型与其源类型作比较。然而,GBase 8s 自动注册从单值类型到源类型(反之亦然)的显式强制转型。单值类型不继承对其源类型定义的强制转型。另外,可以对单值类型定义的用户定义强制转型不可用于其源类型。有关阐述如何对单值类型创建和使用强制转型的更多信息及示例,请参阅为用户定义的强制转型创建强制转型函数
命名行类型
在大多数情况下,可以将命名行类型显式强制转型为另一行类型值,而无需创建强制转型。然而,要在命名行类型的值与其他一些数据类型的值之间进行转换,必须首先创建强制转型来处理该转换。

有关如何创建和使用用户定义的强制转型的示例,请参阅单值数据类型之间强制转型的示例。有关 CREATE CAST 语句的语法,请参阅 GBase 8s SQL 指南:语法