从 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:mmss”格式。 此格式不受 Windows 国家/地区设置的影响。