Compartir a través de


Dígitos decimales

Los dígitos decimales de los tipos de datos decimales y numéricos se definen como el número máximo de dígitos a la derecha del separador decimal o la escala de los datos. Para las columnas o parámetros de número de punto flotante aproximados, la escala no está definida porque el número de dígitos a la derecha del separador decimal no es fijo. Para los datos datetime o interval que contienen un componente de segundos, los dígitos decimales se definen como el número de dígitos a la derecha del separador decimal en el componente de segundos de los datos.

Para los tipos de datos SQL_DECIMAL y SQL_NUMERIC, la escala máxima suele ser la misma que la precisión máxima. Sin embargo, algunos orígenes de datos imponen un límite independiente en la escala máxima. Para determinar las escalas mínimas y máximas permitidas para un tipo de datos, una aplicación llama a SQLGetTypeInfo.

Los dígitos decimales definidos para cada tipo de datos SQL conciso se muestran en la tabla siguiente.

Tipo SQL Dígitos decimales
Todos los tipos binarios y de caracteres[a] N/D
SQL_DECIMAL
SQL_NUMERIC
Número definido de dígitos a la derecha del separador decimal. Por ejemplo, la escala de una columna definida como NUMERIC(10,3) es 3. Puede ser un número negativo para admitir el almacenamiento de números muy grandes sin usar notación exponencial; por ejemplo, "12000" podría almacenarse como "12" con una escala de -3.
Todos los tipos numéricos exactos distintos de SQL_DECIMAL y SQL_NUMERIC[a] 0
Todos los tipos de datos aproximados[a] N/D
SQL_TYPE_DATE y todos los tipos de intervalo sin componentes de segundos[a] N/D
Todos los tipos datetime excepto SQL_TYPE_DATE y todos los tipos de intervalo con un componente de segundos Número de dígitos a la derecha del separador decimal en la parte de segundos del valor (fracciones de segundos). Este número no puede ser negativo.
SQL_GUID N/D

[a] El argumento DecimalDigits de SQLBindParameter se omite para este tipo de datos.

Los valores devueltos para los dígitos decimales no corresponden a los valores de ningún campo descriptor. Los valores pueden provenir de la SQL_DESC_SCALE o del campo SQL_DESC_PRECISION, según el tipo de datos, como se muestra en la tabla siguiente.

Tipo SQL Campo descriptor correspondiente a

dígitos decimales
Todos los tipos binarios y de caracteres N/D
Todos los tipos numéricos exactos SCALE
SQL_BIT N/D
Todos los tipos numéricos aproximados N/D
Todos los tipos datetime PRECISION
Todos los tipos de intervalo con un componente de segundos PRECISION
Todos los tipos de intervalo sin componente de segundos N/D