SSIS如何在平面文件目标中抑制CR / LF?

时间:2018-12-27 16:57:50

标签: sql-server ssis newline flat-file

我有一个错误报告,其中包含一个简单查询输出到.csv平面文件。生成的最后一列是nvarchar(1000),其中包含通常在文本内包含CR / LF的注释。当您在Excel中打开.csv时,这些CR / LF会触发新列,因此第6列的一半注释会在第一列的下一行结束。

当我在SSMS中运行查询时,我有一个查询选项以“在复制或保存时保留CR / LF”。如果我使用此选项将查询结果直接复制到Excel,则会重新创建问题。如果删除此选项,则结果不会中断。这就是我想要的SSIS包。

默认情况下,SSIS在保存时保留CR / FL,我找不到任何选项可以将其关闭。谁能指出我正确的方向?

1 个答案:

答案 0 :(得分:2)

我不知道是否可以在查询本身中处理此问题,但是如果可以,您可以尝试使用REPLACE删除CRLF:

SELECT
    col_first,
    col_second,
    ...
    REPLACE(REPLACE(col_last, CHAR(13), ''), CHAR(10), '') AS col_last
FROM yourTable;