强制转型是用于将值从一种数据类型转换为另一种数据类型的机制。强制转型允许在具有不同数据类型的值之间作比较或用一种数据类型的值替代另一数据类型的值。
GBase 8s 在下列类型的表达式中支持强制转型:
- 列表达式
- 常量表达式
- 函数表达式
- SPL 变量
- 主变量 (ESQL)
- 语句局部变量 (SLV) 表达式
要将一种数据类型的值转换为具有另一数据类型,数据库或数据库服务器中必须存在强制转型。
GBase 8s
支持下列类型的强制转型:
- 内置强制转型
- 内置强制转型是构建到数据库服务器中的强制转型。内置强制转型执行不同内置数据类型之间的自动转换。
- 用户定义的强制转型
- 用户定义的强制转型通常需要强制转型函数来处理从一种数据类型到另一数据类型的转换。要注册和使用用户定义的强制转型,必须使用 CREATE CAST 语句。
如果使用 CREATE CAST 语句创建强制转型时包括了 EXPLICIT 关键字,那么用户定义的强制转型是显式的。
(缺省选项是显式的。)永远不会自动调用显式强制转型。要调用显式强制转型,必须使用 CAST... AS 关键字或双冒号 (::) 强制转型运算符。
如果使用 CREATE CAST 语句创建强制转型时包括了 IMPLICIT 关键字,那么用户定义的强制转型是隐式的。
在运行时,数据库服务器自动调用隐式强制转型来执行数据转换。
所有强制转型都包括在 syscasts
系统目录表中。有关 syscasts 的更多信息,请参阅《GBase 8s SQL 指南:参考》。