数据类型标识符和描述符
本附录前面的 SQL 数据类型 和 C 数据类型 部分中列出的数据类型是“简洁”数据类型:每个标识符引用单个数据类型。 标识符和数据类型之间存在一对一对应关系。 但是,描述符并非在所有情况下都使用单个值来标识数据类型。 在某些情况下,它们使用“详细”数据类型和类型子代码。 对于除 datetime 和 interval 数据类型之外的所有数据类型,详细类型标识符与简洁类型标识符相同,SQL_DESC_DATETIME_INTERVAL_CODE中的值等于 0。 但是,对于 datetime 和 interval 数据类型,详细类型 (SQL_DATETIME或SQL_INTERVAL) 存储在 SQL_DESC_TYPE 中,简明类型存储在 SQL_DESC_CONCISE_TYPE 中,每个简明类型的子代码存储在 SQL_DESC_DATETIME_INTERVAL_CODE 中。 设置其中一个字段会影响其他字段。 有关这些字段的详细信息,请参阅 SQLSetDescField 函数说明。
当为某些数据类型设置SQL_DESC_TYPE或SQL_DESC_CONCISE_TYPE字段时,SQL_DESC_DATETIME_INTERVAL_PRECISION、SQL_DESC_LENGTH、SQL_DESC_PRECISION和SQL_DESC_SCALE字段将自动设置为默认值(适用于该数据类型)。 有关详细信息,请参阅 SQLSetDescField 中SQL_DESC_TYPE字段的说明。 如果设置的任何默认值都不适用,应用程序应通过调用 SQLSetDescField 显式设置描述符字段。
下表显示了每个日期/时间间隔 SQL 和 C 类型标识符的简洁类型标识符、详细类型标识符和类型子代码。 如下表所示,对于 datetime 和 interval 数据类型,SQL_DESC_TYPE和SQL_DESC_DATETIME_INTERVAL_CODE字段具有相同的清单常量,对于实现描述符) 中的 SQL 数据类型 (,对于应用程序描述符) 中 (C 数据类型。
简洁的 SQL 类型 | 简明 C 类型 | 详细类型 | DATETIME_INTERVAL_CODE |
---|---|---|---|
SQL_TYPE_DATE | SQL_C_TYPE_DATE | SQL_DATETIME | SQL_CODE_DATE |
SQL_TYPE_TIME | SQL_C_TYPE_TIME | SQL_DATETIME | SQL_CODE_TIME |
SQL_TYPE_TIMESTAMP | SQL_C_TYPE_TIMESTAMP | SQL_DATETIME | SQL_CODE_TIMESTAMP |
SQL_INTERVAL_MONTH | SQL_C_INTERVAL_MONTH | SQL_INTERVAL | SQL_CODE_MONTH |
SQL_INTERVAL_YEAR | SQL_C_INTERVAL_YEAR | SQL_INTERVAL | SQL_CODE_YEAR |
SQL_INTERVAL_YEAR_TO_MONTH | SQL_C_INTERVAL_YEAR_TO_MONTH | SQL_INTERVAL | SQL_CODE_YEAR_TO_MONTH |
SQL_INTERVAL_DAY | SQL_C_INTERVAL_DAY | SQL_INTERVAL | SQL_CODE_DAY |
SQL_INTERVAL_HOUR | SQL_C_INTERVAL_HOUR | SQL_INTERVAL | SQL_CODE_HOUR |
SQL_INTERVAL_MINUTE | SQL_C_INTERVAL_MINUTE | SQL_INTERVAL | SQL_CODE_MINUTE |
SQL_INTERVAL_SECOND | SQL_C_INTERVAL_SECOND | SQL_INTERVAL | SQL_CODE_SECOND |
SQL_INTERVAL_DAY_TO_HOUR | SQL_C_INTERVAL_DAY_TO_HOUR | SQL_INTERVAL | SQL_CODE_DAY_TO_HOUR |
SQL_INTERVAL_DAY_TO_MINUTE | SQL_C_INTERVAL_DAY_TO_MINUTE | SQL_INTERVAL | SQL_CODE_DAY_TO_MINUTE |
SQL_INTERVAL_DAY_TO_SECOND | SQL_C_INTERVAL_DAY_TO_SECOND | SQL_INTERVAL | SQL_CODE_DAY_TO_SECOND |
SQL_INTERVAL_HOUR_TO_MINUTE | SQL_C_INTERVAL_HOUR_TO_MINUTE | SQL_INTERVAL | SQL_CODE_HOUR_TO_MINUTE |
SQL_INTERVAL_HOUR_TO_SECOND | SQL_C_INTERVAL_HOUR_TO_SECOND | SQL_INTERVAL | SQL_CODE_HOUR_TO_SECOND |
SQL_INTERVAL_MINUTE_TO_SECOND | SQL_C_INTERVAL_MINUTE_TO_SECOND | SQL_INTERVAL | SQL_CODE_MINUTE_TO_SECOND |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈