列大小、十进制数字、传输八进制数长度和显示大小 - ODBC
数据类型的特征在于其列 (或参数) 大小、十进制数字、长度和显示大小。 以下 ODBC 函数为 SQL 语句中的参数或数据源上的 SQL 数据类型返回这些属性。 每个 ODBC 函数返回一组不同的这些属性,如下所示:
SQLDescribeCol 返回其描述的列的列大小和十进制数字。
SQLDescribeParam 返回其描述的参数的参数大小和十进制数字。 SQLBindParameter 设置 SQL 语句中参数的参数大小和十进制数字。
目录函数 SQLColumns、 SQLProcedureColumns 和 SQLGetTypeInfo 返回表、结果集或过程参数中的列的属性,以及数据源中数据类型的目录属性。 SQLColumns 返回指定表 ((如基表、视图或系统表) )中的列大小、十进制数字和列的长度。 SQLProcedureColumns 在过程中返回列的大小、十进制数字和列的长度。 SQLGetTypeInfo 返回数据源上 SQL 数据类型的最大列大小以及最小和最大十进制数字。
这些函数为列或参数大小返回的值对应于 ODBC 2 中定义的“精度”。x. 但是,这些值不一定对应于SQL_DESC_PRECISION或任何其他描述符字段中返回的值。 对于与 ODBC 2 中定义的“scale”相对应的十进制数字也是如此。x. 它不一定对应于SQL_DESC_SCALE或任何其他描述符字段返回的值,但来自不同的描述符字段,具体取决于数据类型。 有关详细信息,请参阅 列大小 和 十进制数字。
同样,传输八位字节长度的值不来自SQL_DESC_LENGTH。 它们来自所有字符和二进制类型的描述符字段的SQL_DESC_OCTET_LENGTH。 没有描述符字段用于保存其他类型的此信息。
所有数据类型的显示大小值都对应于单个描述符字段中的值,SQL_DESC_DISPLAY_SIZE。
描述符字段描述结果集的特征。 描述符字段在语句执行前不包含有关数据的有效值。 另一方面, SQLColumns、 SQLProcedureColumns 和 SQLGetTypeInfo 返回的列大小、十进制数字和显示大小的值返回数据源目录中存在的数据库对象(如表列和数据类型)的特征。 同样,在其结果集中, SQLColAttribute 返回数据源中列的列大小、十进制数字和传输八位字节长度;这些值不一定与SQL_DESC_PRECISION、SQL_DESC_SCALE和SQL_DESC_OCTET_LENGTH描述符字段中的值相同。
有关这些描述符字段的详细信息,请参阅 SQLSetDescField。
相关主题: