gpt4 book ai didi

sql-server - SQL Server BULK INSERT - 转义保留字符

转载 作者:行者123 更新时间:2023-12-02 23:43:02 26 4
gpt4 key购买 nike

关于 SQL Server BULK INSERT 文件中转义字符的可用文档非常少。

BULK INSERT 的文档说该语句只有两个格式选项:FIELDTERMINATORROWTERMINATOR,但是它没有说明如何如果这些字符出现在行的字段值中,则意味着对它们进行转义。

例如,如果我有这张表:

CREATE TABLE People ( name varchar(MAX), notes varchar(MAX) )

以及这一行数据:

"Foo, \Bar", "he has a\r\nvery strange name\r\nlol"

...其相应的批量插入文件会是什么样子,因为明显的原因这不起作用:

Foo,\Bar,he has a
very strange name
lol

SQL Server说它支持 \r\n 但没有说明反斜杠是否会自行转义,也没有提到字段值定界(例如使用双引号或转义双引号)引号)所以我在这方面有点困惑。

最佳答案

我通过使用\0 作为行分隔符和\t 作为字段分隔符解决了这个问题,因为这两个字符都没有作为字段值出现,并且都支持 BULK INSERT 作为分隔符。

令我惊讶的是,MSSQL 在导入/导出方面没有提供更多灵 active 。构建一流的 CSV/TSV 解析器并不需要花费太多精力。

关于sql-server - SQL Server BULK INSERT - 转义保留字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7059135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com