Это может быть сделано. Используйте производную колонку и выражение ROUND()
.
Внутри потока данных, между компонентом источника Excel и компонентом назначения OLE DB, добавьте компонент производного столбца. Внутри этого производного столбца создается новый столбец, который округляет значение.
(DT_NUMERIC,25,2)ROUND(MyColumnName, 2)
Карта Этот новый производный столбец выше вашего SQL назначения, и мы все готово.
Но! Вы уверены, что хотите сохранить округленные номера в своей базе данных?
Вам понадобится суммировать эту колонку? Если это так, округленные значения будут давать совсем другое значение, чем не округленные значения. Возможно, не делайте этого округления в SSIS и вместо этого сохраняйте полные числа. Пусть приложения, читающие эти данные, форматируют. Это так же просто.
SELECT ROUND(MyColumnName,2) AS MyColumnName
FROM MyTable
В multitier architecture, форматирование чисел должно быть оставлено на слой отображения, а не на уровне данных. Это именно то, что делает Excel. Это показывает вы округленное число, но за кулисами - это полная ценность. Не роняйте точность форматирования.
Спасибо, сэр - хороший совет –