关于在SQL Server BULK INSERT
文件中转义字符的文档非常少。
BULK INSERT
的文档称该语句只有两个格式选项:FIELDTERMINATOR
和ROWTERMINATOR
,但它并没有说如果这些字符出现在一行的字段值中,应该如何转义它们。
例如,如果我有这个表:
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
,但没有说明反斜杠是否需要转义,也没有提到字段值的分隔(例如使用双引号或转义双引号),所以我在这方面有些困惑。