0

我的列分隔符是竖线“|” 如何告诉 SQL 在看到“\|”时不要创建新列

我的文本文件由竖线“|”分隔。然而,有时竖线会出现在名称/值中,SQL 会将其拆分为单独的列。为了解决这个问题,数据的所有者在每个不是分隔符的竖线前插入了一个 \。

告诉 SQL Server 在看到“\|”时不要将字段拆分到单独的列中的最无缝方法是什么 与普通的竖线相反。我可以使用文本限定符/其他一些简单的方法来做到这一点吗?

4

1 回答 1

0

据我所知,没有什么好方法,SQL Server 允许文本限定符,但不允许分隔符转义。

除非分隔符周围总是有空格,在这种情况下,您可以使用“|”(空间管道空间)作为分隔符来排除斜线。

如果您无法以正确的格式获取数据,您可以替换出现的“/|” 通过简单的脚本或在 SSIS 中使用非标准字符或字符串。

您也可以按原样导入文件并在导入后(或在使用 SSIS 的导入期间)进行调整。根据有多少错误管道,这可能是不合理的。

于 2013-07-09T17:31:49.597 回答