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 语句的结果类型,所以不要切换此注册表变量设置。