WebSphere Message Broker 会将每种数据类型都转换为适当的标准 SQL C 数据类型,祥见下表。标准 SQL C 数据类型与每个 DBMS 支持的数据类型之间的转换取决于 DBMS。有关详细信息,请参阅 DBMS 文档。
下表列出了可以进行的从 WebSphere Message Broker 到 SQL 数据类型的转换
WebSphere Message Broker 数据类型 | SQL 数据类型 |
---|---|
NULL 或未知、无效值 | SQL_NULL_DATA |
BOOLEAN | SQL_C_BIT |
INTEGER | SQL_C_LONG |
FLOAT | SQL_C_DOUBLE |
DECIMAL | SQL_C_CHAR1 |
CHARACTER | SQL_C_CHAR |
TIME | SQL_C_TIME |
GMTTIME | SQL_C_TIME |
DATE | SQL_C_DATE |
TIMESTAMP | SQL_C_TIMESTAMP |
GMTTIMESTAMP | SQL_C_DATE |
INTERVAL | 不支持2 |
BLOB | SQL_C_BINARY |
BIT | 不支持2 |
注:
|
在这两种情况下,首先将要赋予的值强制转换为 CHARACTER 值,然后再尝试将此 CHARACTER 值强制转换为 INTERVAL 或 DECIMAL 值。这样做的原因在于 INTERVAL 需要一个限定符,DECIMAL 需要一个精度和小数位。在显式强制类型转换中,必须指定它们,但在隐式强制类型转换中,必须从字符串中获取它们。因此,进一步的限制是,将数据隐式强制转换为 INTERVAL 变量时,字符串的格式必须为 INTERVAL '<values>' <qualifier>。显式强制类型转换可接受的缩写格式 <values> 在隐式转换时不可接受。