Поделиться через


Десятичные цифры

Десятичные цифры десятичных и числовых типов данных определяются как максимальное число цифр справа от десятичной точки или масштаб данных. Для приблизительных столбцов или параметров числа с плавающей запятой шкала не определена, так как число цифр справа от десятичной запятой не исправлено. Для данных даты и времени, содержащих компонент секунд, десятичные цифры определяются как число цифр справа от десятичной точки в компоненте секунд данных.

Для типов данных SQL_DECIMAL и SQL_NUMERIC максимальное масштабирование обычно совпадает с максимальной точностью. Однако некоторые источники данных накладывают отдельное ограничение на максимальный масштаб. Чтобы определить минимальные и максимальные масштабы, разрешенные для типа данных, приложение вызывает SQLGetTypeInfo.

Десятичные цифры, определенные для каждого краткого типа данных SQL, показаны в следующей таблице.

Тип SQL Десятичные цифры
Все символьные и двоичные типы[a] Недоступно
SQL_DECIMAL
SQL_NUMERIC
Определенное число цифр справа от десятичной запятой. Например, масштаб столбца, определенного как NUMERIC(10,3), равен 3. Это может быть отрицательное число для поддержки хранения очень больших чисел без использования экспоненциальной нотации; Например, "12000" может храниться как "12" с масштабом -3.
Все точные числовые типы, отличные от SQL_DECIMAL и SQL_NUMERIC[a] 0
Все приблизительные типы данных[a] Недоступно
SQL_TYPE_DATE и все типы интервалов без компонентов секунд[a] Недоступно
Все типы даты и времени, кроме SQL_TYPE_DATE, и все типы интервалов с компонентом секунд Число цифр справа от десятичной запятой в секундах части значения (дробные секунды). Это число не может быть отрицательным.
SQL_GUID Недоступно

[a] Аргумент DecimalDigits SQLBindParameter игнорируется для этого типа данных.

Значения, возвращаемые для десятичных цифр, не соответствуют значениям в одном поле дескриптора. Значения могут поступать из поля SQL_DESC_SCALE или поля SQL_DESC_PRECISION в зависимости от типа данных, как показано в следующей таблице.

Тип SQL Поле дескриптора, соответствующее

десятичные цифры
Все типы символов и двоичных типов Недоступно
Все точные числовые типы МАСШТАБ
SQL_BIT Недоступно
Все приблизительные числовые типы Недоступно
Все типы даты и времени PRECISION
Все типы интервалов с компонентом секунд PRECISION
Все типы интервалов без компонента секунд Недоступно