Atributos de tipos de datos

Se muestra información para los atributos de tipo de datos siguientes:

Precisión

La precisión de una columna numérica o parámetro hace referencia al número máximo de dígitos que utiliza el tipo de datos de la columna o parámetro. La precisión de una columna no numérica o parámetro hace referencia generalmente a la longitud máxima o a la longitud definida de la columna o parámetro. La tabla siguiente define la precisión para cada tipo de datos SQL.

Tabla 21. Precisión

fSqlType Precisión
SQL_CHAR
SQL_VARCHAR
La longitud definida de la columna o parámetro. Por ejemplo, la precisión de una columna definida como CHAR(10) es 10.
SQL_DECIMAL El número máximo de dígitos definido. Por ejemplo, la precisión de una columna definida como DECIMAL(10,3) es 10.
SQL_SMALLINT a 5
SQL_INTEGER a 10
SQL_BLOB La longitud definida de la columna o parámetro. Por ejemplo, la precisión de una columna definida como BLOB(10) es 10.
SQL_DATE a 10 (el número de caracteres en el formato aaaa-mm-dd).
SQL_TIME a 8 (el número de caracteres en el formato hh:mm:ss).
SQL_TIMESTAMP 26 (El número de caracteres en el formato "aaaa-mm-dd-hh.mm.ss.ffffff" que utiliza el tipo de datos de TIMESTAMP.)

a: El argumento cbParamDef de SQLBindParameter() se ignora para este tipo de datos.

Escala

La escala de una columna numérica o parámetro hace referencia al número máximo de dígitos a la derecha de la coma decimal. La tabla siguiente define la escala para cada tipo de datos SQL.

Tabla 22. Escala

fSqlType Escala
SQL_CHAR
SQL_VARCHAR
No aplicable.
SQL_DECIMAL El número de dígitos definido a la derecha de la coma decimal. Por ejemplo, la escala de una columna definida como DECIMAL(10, 3) es 3.
SQL_SMALLINT
SQL_INTEGER
0
SQL_BLOB No aplicable.
SQL_DATE
SQL_TIME
No aplicable.
SQL_TIMESTAMP 6 (El número de dígitos a la derecha de la coma decimal en el formato "aaaa-mm-dd-hh.mm.ss.ffffff".)

Longitud

La longitud de una columna es el número máximo de bytes devueltos a la aplicación en el momento en que los datos se transfieren a su tipo de datos C por omisión. Para los datos de tipo carácter, la longitud no incluye el byte de finalización de nulo. Tenga en cuenta que la longitud de una columna puede ser diferente del número de bytes que se necesitan para almacenar los datos en la fuente de datos.

La tabla siguiente define la longitud para cada tipo de datos SQL.

Tabla 23. Longitud

fSqlType Longitud
SQL_CHAR
SQL_VARCHAR
La longitud definida de la columna. Por ejemplo, la longitud de una columna definida como CHAR(10) es 10.
SQL_DECIMAL El número máximo de dígitos más dos. Puesto que estos tipos de datos se devuelven como series de caracteres, se necesitan caracteres para los dígitos, un signo y una coma decimal. Por ejemplo, la longitud de una columna definida como DECIMAL(10,3) es 12.
SQL_SMALLINT 2 (dos bytes).
SQL_INTEGER 4 (cuatro bytes).
SQL_BLOB La longitud definida de la columna. Por ejemplo, la longitud de una columna definida como BLOB(10) es 10.
SQL_DATE
SQL_TIME
6 (el tamaño de la estructura DATE_STRUCT o TIME_STRUCT).
SQL_TIMESTAMP 16 (el tamaño de la estructura TIMESTAMP_STRUCT).

Tamaño de pantalla

El tamaño de pantalla de una columna es el número máximo de bytes necesarios para visualizar datos en formulario de caracteres. La tabla siguiente define el tamaño de pantalla para cada tipo de datos SQL.

Tabla 24. Tamaño de pantalla

fSqlType Tamaño de pantalla
SQL_CHAR
SQL_VARCHAR
La longitud definida de la columna. Por ejemplo, el tamaño de pantalla de una columna definida como CHAR(10) es 10.
SQL_DECIMAL La precisión de la columna más dos (un signo, dígitos de precisión y una coma decimal). Por ejemplo, el tamaño de pantalla de una columna definida como DECIMAL(10,3) es 12.
SQL_SMALLINT 6 (un signo y 5 dígitos).
SQL_INTEGER 11 (un signo y 10 dígitos).
SQL_BLOB La longitud definida de la columna por 2 (cada byte binario está representado por un número hexadecimal de 2 dígitos). Por ejemplo, el tamaño de pantalla de una columna definida como BLOB(10) es 20.
SQL_DATE 10 (una fecha en el formato aaaa-mm-dd).
SQL_TIME 8 (una hora en el formato hh:mm:ss).
SQL_TIMESTAMP 26 (una indicación de fecha y hora en el formato aaaa-mm-dd-hh.mm.ss.ffffff).