Dígitos decimais
Os dígitos decimais de tipos de dados decimal e numéricos são definidos como o número máximo de dígitos à direita do ponto decimal ou a escala dos dados. Para colunas ou parâmetros de número de ponto flutuante aproximados, a escala é indefinida porque o número de dígitos à direita do ponto decimal não é fixo. Para dados datetime ou interval que contêm um componente de segundos, os dígitos decimais são definidos como o número de dígitos à direita do ponto decimal no componente de segundos dos dados.
Para os tipos de dados SQL_DECIMAL e SQL_NUMERIC, a escala máxima geralmente é a mesma que a precisão máxima. No entanto, algumas fontes de dados impõem um limite separado na escala máxima. Para determinar as escalas mínimas e máximas permitidas para um tipo de dados, um aplicativo chama SQLGetTypeInfo.
Os dígitos decimais definidos para cada tipo de dados SQL conciso são mostrados na tabela a seguir.
Tipo SQL | Dígitos decimais |
---|---|
Todos os tipos de caracteres e binários[a] | n/d |
SQL_DECIMAL SQL_NUMERIC |
O número definido de dígitos à direita do ponto decimal. Por exemplo, a escala de uma coluna definida como NUMERIC(10,3) é 3. Esse pode ser um número negativo para dar suporte ao armazenamento de números muito grandes sem usar notação exponencial; por exemplo, "12000" pode ser armazenado como "12" com uma escala de -3. |
Todos os tipos numéricos exatos que não sejam SQL_DECIMAL e SQL_NUMERIC[a] | 0 |
Todos os tipos de dados aproximados[a] | n/d |
SQL_TYPE_DATE e todos os tipos de intervalo sem componentes de segundos[a] | n/d |
Todos os tipos de datetime, exceto SQL_TYPE_DATE e todos os tipos de intervalo com um componente de segundos | O número de dígitos à direita do ponto decimal na parte de segundos do valor (segundos fracionários). Esse número não pode ser negativo. |
SQL_GUID | n/d |
[a] O argumento DecimalDigits de SQLBindParameter é ignorado para esse tipo de dados.
Os valores retornados para os dígitos decimais não correspondem aos valores em nenhum campo de descritor. Os valores podem vir do campo SQL_DESC_SCALE ou SQL_DESC_PRECISION, dependendo do tipo de dados, conforme mostrado na tabela a seguir.
Tipo SQL | Campo descritor correspondente a dígitos decimais |
---|---|
Todos os tipos de caracteres e binários | n/d |
Todos os tipos numéricos exatos | SCALE |
SQL_BIT | n/d |
Todos os tipos numéricos aproximados | n/d |
Todos os tipos de datetime | PRECISION |
Todos os tipos de intervalo com um componente de segundos | PRECISION |
Todos os tipos de intervalo sem componente de segundos | N/D |