У меня есть пакет SSIS с потоком данных, который использует источник данных ADO.NET (только небольшая таблица), выполняет запрос select * и выводит результаты запроса в плоский файл (я также попытался просто потянуть целую таблицу и не используя выбор SQL).Как получить поток данных SSIS для установки «0.00» в плоском файле?
Проблема заключается в том, что источник данных выталкивает столбец, который является типом данных Money, и если значение не равно нулю, оно попадает в текстовый плоский файл просто отлично (например, «123.45»), но когда значение равно нулю , он отображается в плоском файле назначения как «.00». Мне нужно знать, как вернуть начальный ноль обратно в плоский файл.
Я пробовал различные типы данных для вывода (в диспетчере соединений с плоскими файлами), включая валюту и строку, но это, похоже, не имеет никакого эффекта.
Я попытался тематическое заявление в мой выбор, как это:
CASE WHEN columnValue = 0 THEN
'0.00'
ELSE
columnValue
END
(по-прежнему приводит к».00')
Я пробовал вариации на том, что, как это:
CASE WHEN columnValue = 0 THEN
convert(decimal(12,2), '0.00')
ELSE
convert(decimal(12,2), columnValue)
END
(Still приводит»+0,00')
и:
CASE WHEN columnValue = 0 THEN
convert(money, '0.00')
ELSE
convert(money, columnValue)
END
(результаты в».0000000000000000000 ')
Этот глупый маленький вопрос это убивает меня. Может ли кто-нибудь сказать мне, как получить значение базы данных нулевого значения Money Datatype в плоском файле как «0.00»?
Я хотел бы знать причину этой проблемы - я не очень комфортно с взломанным процессором. – PeterX