Tamanho da coluna
O tamanho da coluna (ou parâmetro) dos tipos de dados numéricos é definido como o número máximo de dígitos usados pelo tipo de dados da coluna ou parâmetro ou a precisão dos dados. Para tipos de caracteres, esse é o comprimento em caracteres dos dados; Para tipos de dados binários, o tamanho da coluna é definido como o comprimento em bytes dos dados. Para os tipos de dados de hora, carimbo de data/hora e todos os tipos de dados de intervalo, esse é o número de caracteres na representação de caracteres desses dados. O tamanho da coluna definido para cada tipo de dados SQL conciso é mostrado na tabela a seguir.
Identificador de tipo SQL | Tamanho da coluna |
---|---|
Todos os tipos de caracteres[a],[b] | O tamanho de coluna definido ou máximo em caracteres da coluna ou parâmetro (conforme contido no campo descritor SQL_DESC_LENGTH). Por exemplo, o tamanho da coluna de uma coluna de caractere de byte único definida como CHAR(10) é 10. |
SQL_DECIMAL SQL_NUMERIC | O número definido de dígitos. Por exemplo, a precisão de uma coluna definida como NUMERIC(10,3) é 10. |
SQL_BIT[c] | 1 |
SQL_TINYINT[c] | 3 |
SQL_SMALLINT[c] | 5 |
SQL_INTEGER[c] | 10 |
SQL_BIGINT[c] | 19 (se assinado) ou 20 (se não assinado) |
SQL_REAL[c] | 7 |
SQL_FLOAT[c] | 15 |
SQL_DOUBLE[c] | 15 |
Todos os tipos binários[a],[b] | O comprimento definido ou máximo em bytes da coluna ou parâmetro. Por exemplo, o comprimento de uma coluna definida como BINARY(10) é 10. |
SQL_TYPE_DATE[c] | 10 (o número de caracteres no formato aaaa-mm-dd ). |
SQL_TYPE_TIME[c] | 8 (o número de caracteres no formato HH-MM-SS ) ou 9 + s (o número de caracteres no formato hh:mm:ss[.fff...], onde s é a precisão dos segundos). |
SQL_TYPE_TIMESTAMP | 16 (o número de caracteres no formato AAAA-MM-DD HH:MM ) 19 (o número de caracteres no formato AAAA-MM-DD HH:MM:SS ) ou 20 + s (o número de caracteres no formato aaaa-mm-dd hh:mm:ss[.fff...], onde s é a precisão dos segundos). |
SQL_INTERVAL_SECOND | Onde p é a precisão inicial do intervalo e s é a precisão dos segundos, p (se s = 0) ou p+s + 1 (se s>0). d] |
SQL_INTERVAL_DAY_TO_SECOND | Onde p é a precisão inicial do intervalo e s é a precisão dos segundos, 9 + p (se s = 0) ou 10 + p+s (se s>0). d] |
SQL_INTERVAL_HOUR_TO_SECOND | Onde p é a precisão inicial do intervalo e s é a precisão dos segundos, 6+p (se s=0) ou 7+p+s (se s>0).[ d] |
SQL_INTERVAL_MINUTE_TO_SECOND | Onde p é a precisão do intervalo à esquerda e s é a precisão dos segundos, 3+p (se s=0) ou 4+p+s (se s>0).[ d] |
SQL_INTERVAL_YEAR SQL_INTERVAL_MONTH SQL_INTERVAL_DAY SQL_INTERVAL_HOUR SQL_INTERVAL_MINUTE | p, onde p é a precisão principal do intervalo.[ d] |
SQL_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_DAY_TO_HOUR | 3+p, onde p é a precisão principal do intervalo.[ d] |
SQL_INTERVAL_DAY_TO_MINUTE | 6+p, onde p é a precisão principal do intervalo.[ d] |
SQL_INTERVAL_HOUR_TO_MINUTE | 3+p, onde p é a precisão principal do intervalo.[ d] |
SQL_GUID | 36 (o número de caracteres no formato aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee ) |
[a] Para um aplicativo ODBC 1.0 que chama SQLSetParam em um driver ODBC 2.0 e para um aplicativo ODBC 2.0 que chama SQLBindParameter em um driver ODBC 1.0, quando *StrLen_or_IndPtr é SQL_DATA_AT_EXEC para um tipo de SQL_LONGVARCHAR ou SQL_LONGVARBINARY, ColumnSize deve ser definido como o comprimento total dos dados a serem enviados, não a precisão definida nesta tabela.
[b] Se o driver não puder determinar o comprimento da coluna ou do parâmetro para um tipo de variável, ele retornará SQL_NO_TOTAL.
[c] O argumento ColumnSize de SQLBindParameter é ignorado para esse tipo de dados.
[d] Para regras gerais sobre o comprimento da coluna em tipos de dados de intervalo, consulte Comprimento do tipo de dados de intervalo, anteriormente neste apêndice.
Os valores retornados para o tamanho da coluna (ou parâmetro) não correspondem aos valores em nenhum campo de descritor. Os valores podem vir do campo SQL_DESC_PRECISION ou SQL_DESC_LENGTH, dependendo do tipo de dados, conforme mostrado na tabela a seguir.
Tipo SQL | Campo descritor correspondente a tamanho da coluna ou do parâmetro |
---|---|
Todos os tipos de caracteres e binários | COMPRIMENTO |
Todos os tipos numéricos | PRECISION |
Todos os tipos de data e hora e intervalo | COMPRIMENTO |
SQL_BIT | COMPRIMENTO |