Не точное определение типа данных с плавающей запитой при загрузки из MS SQL

Ошибки при работе с ГИС Аксиома
Ответить
Аватара пользователя
Sohatyi
Пользователь
Сообщения: 53
Зарегистрирован: 27 июн 2019, 21:54

Не точное определение типа данных с плавающей запитой при загрузки из MS SQL

Сообщение Sohatyi » 26 дек 2025, 14:22

При открытии таблицы из MS SQL данные тип numeric(10, 4) определяются как float (вещественный) что в свою очередь вызывает ошибки при работе с данными так как на пример число 0,4444 может превратится в 0,44439999999999 и при дальнейшем экспорте таблицы в SHP локальную теряется исходная структура таблиц.
Хотелось бы чтобы такие данные определялись как десятичный (10, 4).
Windows 10 x64 Аксиома 7.1
Вложения
image_2025-12-26_13-57-47.png
Аватара пользователя
Александр
Администратор
Сообщения: 718
Зарегистрирован: 18 апр 2019, 11:21

Re: Не точное определение типа данных с плавающей запитой при загрузки из MS SQL

Сообщение Александр » Сегодня, 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).

Мы рассматриваем возможность внедрения более точного сопоставления типов при открытии таблиц из СУБД.
Ответить