我有一个将数据从表导出到.csv文件的包,它会导出600,000条记录。
我有几列有前导零和尾随零,而导出数据前导零和尾随零都丢失了。
EX:来自来源的实际数据
column1 column2
001 67.50
在csv文件中导出数据
column1 column2
1 67.5
我尝试了许多方法,例如在派生列中放置数据转换以及复制功能。
我也试过将数据导出到.txt文件并使用.cmd文件来更改.txt文件.csv文件,所有这些方法都没有产生任何结果。
有没有办法实现这个目标?
答案 0 :(得分:1)
导出为text或csv格式的文件时,需要保留前导和/或尾随零的数值,需要以下组合。
1)使用数据流下的派生列或转换任务,将数字字段转换为文本或varchar。
2)确保目标CSV文件的字段定义为字符长度足够的文本。
最后,如果您处于输出文件中需要数值(NULL或空白不可接受)的情况下,请查看以下链接。这是" 0.00"必须提供而不是NULL或空白。
How do I get SSIS Data Flow to put '0.00' in a flat file?
希望这有帮助。
答案 1 :(得分:1)
打开目标csc中使用的Flat File Connection manager
,转到Advanced Tab
将所有列数据类型更改为DT_STR
或DT_WSTR
(请注意,保存数据时对于平面文件,没有考虑数据类型)
如果它仍然不起作用,则添加一个派生列,将这些值转换为DT_STR
,然后再将它们分配给目标