我正在运行SQL 2008,批量插入命令,在插入数据时,我试图从CSV文件中删除(“)双引号,这部分工作,但不适用于所有记录,请检查我的代码和结果的屏幕截图。
Bulk Insert tblUsersXTemp
from 'C:\FR0250Members161212_030818.csv'
WITH (FIELDTERMINATOR = '","',
ROWTERMINATOR = '"\n"',
--FormatFile =''
ERRORFILE = 'C:\bulk_insert_BadData.txt')
答案 0 :(得分:3)
执行批量插入后,您可以替换双引号。
UPDATE tblUsersXTemp
SET usxMembershipID = REPLACE(usxMembershipID, CHAR(34), '')
答案 1 :(得分:1)
你需要一个我认为的格式文件,这就是我的想法。
如果您使用以下批量插入命令导入数据而不使用格式文件,那么您将使用引号标记前缀到第一列值,并使用引号标记后缀为最后一列值和引号第一列值的前缀。
参考例子:
BULK INSERT tblPeople
FROM ‘bcp.txt’
WITH (
DATAFILETYPE=‘char’,
FIELDTERMINATOR=‘","’,
ROWTERMINATOR = ‘\n’,
FORMATFILE = ‘bcp.fmt’);
您还可能拥有使用引号的脏数据,而不仅仅是分隔符。