DB2 10.5 for Linux, UNIX, and Windows
字符和图形常量处理
隐式强制类型转换(或弱类型)是一种备用方法,可解析字符或图形常量以支持期望将这些常量指定给数据类型为 CHAR 和 GRAPHIC 的应用程序。
启用
要启用字符和图形常量处理支持,
请将 DB2_COMPATIBILITY_VECTOR 注册表变量设置为十六进制值
c0x100(位位置 9),然后停止并重新启动该实例以使新设置生效。
db2set DB2_COMPATIBILITY_VECTOR=100
db2stop
db2start
要充分利用 Oracle 应用程序的 DB2® 兼容性功能部件,
DB2_COMPATIBILITY_VECTOR 的推荐设置是 ORA,
这将设置所有兼容性位。在支持字符或图形常量之前,在其 SQL 中使用弱类型转换的应用程序将无法针对DB2 产品进行编译。使用隐式强制类型转换,可以用非常灵活的方式对比、指派和操作字符串和数量。启用字符或图形常量支持后,长度小于或等于 CHAR 或 GRAPHIC 字符型限制的字符或图形字符串常量的数据类型将分别是 CHAR 或 GRAPHIC。长度大于 CHAR 或 GRAPHIC 字符型限制的字符或图形字符串常量的数据类型将分别是 VARCHAR 或 VARGRAPHIC。由于此数据类型指定可能会更改某些 SQL 语句的结果,因此,对于不进行切换的数据库,强烈建议您使用此注册表变量设置。
作用
按以下方式处理:
- 长度小于或等于 254 字节的字符串常量的数据类型为 CHAR。当环境字符串单元为 CODEUNITS32 时,代码单元数小于或等于 63 的字符串常量的数据类型为 CHAR。
- 长度小于或等于 254 字节的图形字符串常量的数据类型为 GRAPHIC。当环境字符串单元为 CODEUNITS32 时,代码单元数小于或等于 63 的字符串常量的数据类型为 GRAPHIC。
- 长度大于 254 字节的字符串常量的数据类型为 VARCHAR。当环境字符串单元为 CODEUNITS32 时,代码单元数大于 63 的字符串常量的数据类型为 VARCHAR。
- 长度大于 254 字节的图形字符串常量的数据类型为 VARGRAPHIC。当环境字符串单元为 CODEUNITS32 时,代码单元数大于 63 的图形字符串常量的数据类型为 VARGRAPHIC。
由于这些数据类型指定可能会更改某些 SQL 语句的结果类型,所以不要切换此注册表变量设置。