Compartir a través de


Tamaño de columna, dígitos decimales, longitud del octeto de transferencia y tamaño de presentación: ODBC

Los tipos de datos se caracterizan por su tamaño de columna (o parámetro), dígitos decimales, longitud y tamaño de presentación. Las siguientes funciones ODBC devuelven estos atributos para un parámetro en una instrucción SQL o para un tipo de datos SQL en un origen de datos. Cada función ODBC devuelve un conjunto diferente de estos atributos, como se indica a continuación:

  • SQLDescribeCol devuelve el tamaño de columna y los dígitos decimales de las columnas que describe.

  • SQLDescribeParam devuelve el tamaño del parámetro y los dígitos decimales de los parámetros que describe. SQLBindParameter establece el tamaño del parámetro y los dígitos decimales de un parámetro en una instrucción SQL.

  • Las funciones de catálogo SQLColumns, SQLProcedureColumns y SQLGetTypeInfo devuelven atributos para una columna de una tabla, un conjunto de resultados o un parámetro de procedimiento y los atributos de catálogo de los tipos de datos del origen de datos. SQLColumns devuelve el tamaño de columna, los dígitos decimales y la longitud de una columna en las tablas especificadas (como la tabla base, la vista o una tabla del sistema). SQLProcedureColumns devuelve el tamaño de columna, los dígitos decimales y la longitud de una columna en un procedimiento. SQLGetTypeInfo devuelve el tamaño máximo de columna y los dígitos decimales mínimo y máximo de un tipo de datos SQL en un origen de datos.

Los valores devueltos por estas funciones para el tamaño de columna o parámetro corresponden a "precisión", tal como se define en ODBC 2. x. Sin embargo, los valores no corresponden necesariamente a los valores devueltos en SQL_DESC_PRECISION ni a ningún otro campo descriptor. Lo mismo es true para los dígitos decimales, que corresponden a "escala" tal y como se define en ODBC 2. x. No corresponde necesariamente a los valores devueltos en SQL_DESC_SCALE o a cualquier otro campo descriptor, pero procede de campos descriptores diferentes en función del tipo de datos. Para obtener más información, vea Tamaño de columna y Dígitos decimales.

Del mismo modo, los valores para la longitud del octeto de transferencia no proceden de SQL_DESC_LENGTH. Proceden de la SQL_DESC_OCTET_LENGTH de un campo de un descriptor para todos los tipos binarios y de caracteres. No hay ningún campo descriptor que contenga esta información para otros tipos.

El valor de tamaño de presentación de todos los tipos de datos corresponde al valor de un único campo descriptor, SQL_DESC_DISPLAY_SIZE.

Los campos descriptores describen las características de un conjunto de resultados. Los campos descriptores no contienen valores válidos sobre los datos antes de la ejecución de instrucciones. Los valores de tamaño de columna, dígitos decimales y tamaño de presentación devueltos por SQLColumns, SQLProcedureColumns y SQLGetTypeInfo, por otro lado, devuelven características de objetos de base de datos, como columnas de tabla y tipos de datos, que existen en el catálogo del origen de datos. Del mismo modo, en su conjunto de resultados, SQLColAttribute devuelve el tamaño de columna, los dígitos decimales y la longitud del octeto de las columnas en el origen de datos; estos valores no son necesariamente los mismos que los valores de los campos de SQL_DESC_PRECISION, SQL_DESC_SCALE y descriptor de SQL_DESC_OCTET_LENGTH.

Para obtener más información sobre estos campos descriptores, vea SQLSetDescField.

Temas relacionados: