【发布时间】:2018-02-22 00:54:24
【问题描述】:
我正在尝试使用批量插入加载文件,但由于某些数据被引号覆盖,数据未正确插入。
我尝试使用格式文件,但它不起作用,因为该列中并非所有行都包含引号。只有一些人这样做。例如
columna
abc
cdf
"dfd"
dfs
"aee"
所以我的格式文件不起作用。
我的批量插入代码:
bulk insert tablename
from 'C:/...'
with
(
FIRSTROW = 2,
rowterminator = '0x0a'
,formatfile = 'file.fmt'
)
格式化文件:
10.0
5
1 SQLCHAR 0 1000 "," 1 "a" ""
2 SQLCHAR 0 1000 ",\"" 2 "b" ""
3 SQLCHAR 0 1000 "\",\"" 3 "d" <- has quotes ""
4 SQLCHAR 0 1000 ",\"" 4 "e" ""
5 SQLCHAR 0 1000 "\n" 5 "f"
有什么想法吗?
【问题讨论】:
-
如何批量插入?
-
@maSTAShuFu 编辑了帖子。
-
你的格式文件是什么样的?
-
如果批量插入工作正常,接受双引号..你可以做的是一些家务......使用
replace函数更新列数据 -
@maSTAShuFu 我不能这样做,因为该列被分成 2 列,因为某些数据可能包含逗号。
标签: sql-server csv bulkinsert