CSV回车符

时间:2009-03-30 11:07:27

标签: sql csv

我的某个应用程序上有CSV输出。这将从Web表单数据生成一个文件。

在某些情况下,我在笔记字段中收到回车字符。这导致导入文件时出错。我想删掉这个角色。

当用户将信息从word文档粘贴到表单中或按住shift键并按Enter键时,似乎会出现此问题。

该字段为ntext,并在多行文本框控件中填充。

我一直试图用替换函数删除它,但是一些回车字符似乎正在通过。

SQL

REPLACE(Fieldname), CHAR(13) + CHAR(10), ' ') AS new_Fieldname

4 个答案:

答案 0 :(得分:8)

最好分别替换字符,因为它们并不总是一起出现或按顺序出现:

REPLACE(REPLACE(Fieldname, CHAR(13),' '), CHAR(10), ' ') AS new_Fieldname

答案 1 :(得分:3)

请注意,您可能有回车符+换行符,或者只有回车符(取决于源平台,数据源等)。所以你可能需要处理这两种情况。

答案 2 :(得分:2)

您可以阅读带有回车符的CSV。回车应该在字符串表示的字段中(即用引号括起来)。这允许您在场中读取线条并将它们包含在内。如果您一次只读取一行CSV,则需要在行之间保持状态并根据需要附加数据。

在.Net中,读取CSV的最简单方法是使用Microsoft.VisualBasic.FileIO.textFileParser对象(是的,如果添加引用,可以在C#中使用它)。这甚至可以轻松读取我抛出的最糟糕的CSV。

答案 3 :(得分:0)

在Word中,有不同种类的换行符。也许你也应该搜索/替换其他的。

我不确定哪些是不同的可能性,至少段落标记是我所知道的。