Comprimento do octeto de transferência
O comprimento do octeto de transferência de uma coluna é o número máximo de bytes retornados ao aplicativo quando os dados são transferidos para seu tipo de dados C padrão. Para dados de caractere, o comprimento do octeto de transferência não inclui espaço para o caractere de terminação nula. O comprimento do octeto de transferência de uma coluna pode ser diferente do número de bytes necessários para armazenar os dados na fonte de dados.
O comprimento do octeto de transferência definido para cada tipo de dados SQL ODBC é mostrado na tabela a seguir.
Identificador de tipo SQL | Comprimento |
---|---|
Todos os tipos de caractere[a] | O comprimento definido ou máximo (para tipo de variável) da coluna em bytes. Esse é o mesmo valor que o campo descritor SQL_DESC_OCTET_LENGTH. |
SQL_DECIMAL SQL_NUMERIC |
O número de bytes necessários para manter a representação de caracteres desses dados se o conjunto de caracteres for ANSI e o dobro desse número se o conjunto de caracteres for UNICODE. Esse é o número máximo de dígitos mais dois, pois os dados são retornados como uma cadeia de caracteres e os caracteres são necessários para os dígitos, um sinal e um ponto decimal. Por exemplo, o comprimento de transferência de uma coluna definida como NUMERIC(10,3) é 12. |
SQL_TINYINT | 1 |
SQL_SMALLINT | 2 |
SQL_INTEGER | 4 |
SQL_BIGINT | 8 |
SQL_REAL | 4 |
SQL_FLOAT | 8 |
SQL_DOUBLE | 8 |
SQL_BIT | 1 |
Todos os tipos binários[a] | O número de bytes necessários para manter o número de caracteres definido (para tipos fixos) ou máximo (para tipos de variáveis). |
SQL_TYPE_DATE SQL_TYPE_TIME |
6 (o tamanho da estrutura SQL_DATE_STRUCT ou SQL_TIME_STRUCT). |
SQL_TYPE_TIMESTAMP | 16 (o tamanho da estrutura SQL_TIMESTAMP_STRUCT). |
Todos os tipos de dados de intervalo | 34 (o tamanho da estrutura de intervalo). |
SQL_GUID | 16 (o tamanho da estrutura GUID). |
[a] Se o driver não puder determinar o comprimento da coluna ou do parâmetro para tipos de variáveis, ele retornará SQL_NO_TOTAL.