从 C 到 SQL:时间戳
时间戳 ODBC C 数据类型的标识符为:
SQL_C_TYPE_TIMESTAMP
下表显示了时间戳 C 数据可转换为的 ODBC SQL 数据类型。 有关表中的列和术语的说明,请参阅 将数据从 C 转换为 SQL 数据类型。
SQL 类型标识符 | 测试 | SQLSTATE |
---|---|---|
SQL_CHAR SQL_VARCHAR SQL_LONGVARCHAR |
列字节长度 >= 字符字节长度 19 <= 列字节长度 < 字符字节长度 列字节长度 < 19 数据值不是有效的时间戳 |
不适用 22001 22001 22008 |
SQL_WCHAR SQL_WVARCHAR SQL_WLONGVARCHAR |
列字符长度 >= 数据的字符长度 19 <= 列字符长度 < 数据的字符长度 列字符长度 < 19 数据值不是有效的时间戳 |
不适用 22001 22001 22008 |
SQL_TYPE_DATE | 时间字段为零 时间字段为非零 数据值不包含有效日期 |
不适用 22008 22007 |
SQL_TYPE_TIME | 秒的小数部分字段为零[a] 秒的小数部分字段为非零值[a] 数据值不包含有效时间 |
不适用 22008 22007 |
SQL_TYPE_TIMESTAMP | 不截断秒的小数部分字段 秒的小数部分字段被截断 数据值不是有效的时间戳 |
不适用 22008 22007 |
[a] 将忽略时间戳结构的日期字段。
有关SQL_C_TIMESTAMP结构中哪些值有效的信息,请参阅本附录前面的 C 数据类型。
当 timestamp C 数据转换为字符 SQL 数据时,生成的字符数据位于“yyyy-mm-ddhh:mm:ss[”。f...]“ 格式。
驱动程序在从 timestamp C 数据类型转换数据时忽略长度/指示器值,并假定数据缓冲区的大小是 timestamp C 数据类型的大小。 length/indicator 值在 SQLPutData 中的 StrLen_or_Ind 参数中传递,并在 SQLBindParameter 中使用 StrLen_or_IndPtr 参数指定的缓冲区中传递。 数据缓冲区使用 SQLPutData 中的 DataPtr 参数和 SQLBindParameter 中的 ParameterValuePtr 参数指定。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈