我在 Microsoft SQL 数据库中有一个表,其中一列是 SQL 数据类型
datetime
。但是,Microsoft 网站上的ODBC API Reference 没有将datetime
转换为C 数据类型的页面。相关页面(例如日期、时间和时间戳)根本没有提到datetime
类型。我知道它们不等价,因为我还有其他表的列包含此类类型。
我想知道,如何使用 ODBC 正确检索这样的列?对于大多数其他类型的列,我只是声明了一个由 ODBC API 提供的相关 C 类型的变量(例如,要检索
decimal
或 numeric
列,我会使用 SQL_NUMERIC_STRUCT
)。然后我打电话给SQLBindCol
和SQLFetch
.
我试过在网上搜索,但似乎没有人直接提到这一点。此外,我知道以下标识符,但它们要么不存在,要么似乎不对应于
datetime
数据类型。 sql_date
和 sql_time
分别仅用于日期或时间,而 timestamp
是不同的类型。
SQL_DATETIME
SQL_DATETIME_STRUCT
SQL_TIME
SQL_DATE
SQL_TIME_STRUCT
SQL_DATE_STRUCT
DATETIME_STRUCT
DATETIME
SQL_TYPE_DATE
SQL_TYPE_TIME
SQL_TYPE_TIMESTAMP