从 SQL 到 C:时间
ODBC SQL 数据类型时间的标识符为:
SQL_TYPE_TIME
下表显示了可以将 SQL 数据转换为的 ODBC C 数据类型。 有关表中的列和术语的说明,请参阅 将数据从 SQL 转换为 C 数据类型。
C 类型标识符 | 测试 | *TargetValuePtr | *StrLen_or_IndPtr | SQLSTATE |
---|---|---|---|---|
SQL_C_CHAR | BufferLength> 字符字节长度 9<= BufferLength<= 字符字节长度 BufferLength< 9 |
数据 截断的数据[a] 未定义 |
数据长度(以字节为单位) 数据长度(以字节为单位) 未定义 |
不适用 01004 22003 |
SQL_C_WCHAR | BufferLength> 字符长度 9<= BufferLength<= 字符长度 BufferLength< 9 |
数据 截断的数据[a] 未定义 |
以字符为单位的数据长度 以字符为单位的数据长度 未定义 |
不适用 01004 22003 |
SQL_C_BINARY | 数据 <字节长度 = BufferLength 数据 >BufferLength 的字节长度 |
数据 未定义 |
数据长度(以字节为单位) 未定义 |
不适用 22003 |
SQL_C_TYPE_TIME | None[b] | 数据 | 6[d] | 不适用 |
SQL_C_TYPE_TIMESTAMP | None[b] | Data[c] | 16[d] | 不适用 |
[a] 截断时间的小数秒。
[b] 对此转换忽略 BufferLength 的值。 驱动程序假定 *TargetValuePtr 的大小是 C 数据类型的大小。
[c] 时间戳结构的日期字段设置为当前日期,时间戳结构的小数秒字段设置为零。
[d] 这是相应的 C 数据类型的大小。
当 SQL 数据转换为字符 C 数据时,生成的字符串采用“hh:mm:ss”格式。 此格式不受 Windows 国家/地区设置的影响。