Страница 1 из 1
Не точное определение типа данных с плавающей запитой при загрузки из MS SQL
Добавлено: 26 дек 2025, 14:22
Sohatyi
При открытии таблицы из MS SQL данные тип numeric(10, 4) определяются как float (вещественный) что в свою очередь вызывает ошибки при работе с данными так как на пример число 0,4444 может превратится в 0,44439999999999 и при дальнейшем экспорте таблицы в SHP локальную теряется исходная структура таблиц.
Хотелось бы чтобы такие данные определялись как десятичный (10, 4).
Windows 10 x64 Аксиома 7.1
Re: Не точное определение типа данных с плавающей запитой при загрузки из MS SQL
Добавлено: 30 дек 2025, 09:32
Александр
Мы подтверждаем и взяли в работу описанную вами проблему.
Но есть момент в различии представления десятичных чисел в СУБД и в формате TAB:
- В MS SQL Server тип numeric(10, 4) допускает до 6 цифр до запятой и до 4 цифр после запятой (включая знак числа — «+» или «–» не учитываются в длине).
- В формате TAB тип Десятичный (10, 4) интерпретируется иначе: общее количество символов (включая знак и запятую) ограничено 10, что снижает допустимое число разрядов до запятой - особенно для отрицательных значений.
Для корректного отображения всего диапазона значений numeric(10, 4) требуется использовать в TAB тип Десятичный (12, 4). Однако при обратной записи в MS SQL такие значения могут не поместиться в исходный тип numeric(10, 4).
Мы рассматриваем возможность внедрения более точного сопоставления типов при открытии таблиц из СУБД.