DB2 CLI 管理应用程序与 DB2 Everyplace 之间数据的传送和任何必需的转换。在数据传输实际发生之前, 在调用 SQLBindParameter()、SQLBindCol() 或 SQLGetData() 时指示源和/或目标的数据类型。这些函数使用符号名(如 SQL_CHAR 和 SQL_C_CHAR)来标识涉及的数据类型。
例如,要将与 SQL_VARCHAR 的 SQL 数据类型相应的参数标记绑定至应用程序的长整数 C 缓冲区类型,适当的 SQLBindParameter() 调用应为:
SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_LONG, SQL_VARCHAR, 0, 0, long_ptr, 0, NULL);
表 86 显示了 C 与 SQL 数据类型之间支持的数据转换。表 86 中的第一列包含 SQL 数据类型。剩余各列表示 C 数据类型。如果 C 数据类型列包含:
对精度和小数位的限制以及用于类型转换的截断和舍入规则,遵循 SQL 语法规则。
SQL 数据类型 | 缺省转换 | 其它受支持转换 |
---|---|---|
BLOB | SQL C BINARY | SQL C CHAR |
CHAR | SQL C CHAR |
SQL C LONG SQL C SHORT SQL C TINYINT SQL C TYPE DATE SQL C TYPE TIME SQL C BINARY SQL C BIT SQL C TYPE TIMESTAMP |
DATE | SQL C TYPE DATE | SQL C CHAR |
DECIMAL | SQL C CHAR |
SQL C LONG SQL C SHORT SQL C TINYINT SQL C BIT |
INTEGER | SQL C LONG |
SQL C CHAR SQL C SHORT SQL C TINYINT SQL C FLOAT SQL C DOUBLE SQL C BIT |
SMALLINT | SQL C SHORT |
SQL C CHAR SQL C LONG SQL C TINYINT SQL C FLOAT SQL C DOUBLE SQL C BIT |
TIME | SQL C TYPE TIME | SQL C CHAR |
TIMESTAMP | SQL C TYPE TIMESTAMP | SQL C CHAR |
VARCHAR | SQL C CHAR |
SQL C LONG SQL C SHORT SQL C TINYINT SQL C TYPE DATE SQL C TYPE TIME SQL C BINARY SQL C BIT SQL C TYPE TIMESTAMP |
相关参考