Я использую SSIS, чтобы получить результаты из двух представлений в базе данных SQL Server, объединить их (с соответствующим сопоставлением), отфильтровать и поместить в базу данных Access.
Этот процесс работает, ноточность некоторых данных меняется.
Я уже знал о нормальной проблеме с плавающей запятой / реальной проблеме хранения приблизительных значений (например, SQL Server обеспечивает дополнительную точность для чисел с плавающей запятой? ), однакопредставления, на которые ссылается SSIS («представления передачи данных»), выбираются из других представлений («представления уровня детали», которые преобразуются из nvarchars в real / float), которые явно преобразуются следующим образом:
,CONVERT(real,ISNULL(FieldName, 0)) AS Alias
и отображаются в результатах просмотра данных для передачи в 2 dp. Столбец Access определяется как число с размером поля = Double, десятичные разряды = 2).
Тем не менее, число с плавающей точкой / вещественное число приблизительно в доступе отображается значение, а не цифра 2 dp
Поля доступа должны быть Number, а не Text, поэтому я не могу выполнить преобразование в nvarchar.
Есть ли простое решение этой проблемы?
Обновление: Изменение размера поля с Двойного на Единый устраняет эту проблему.Почему размер поля Double изменяет точность числа и почему он не отображается в соответствии с указанным числом десятичных разрядов для Double?