2016-12-14 211 views
1

我正在運行SQL 2008,批量插入命令,同時插入數據,我試圖從CSV文件中刪除(「)雙引號,部分工作,但沒有所有記錄工作,請查閱我的代碼和結果的截圖。批量導入CSV文件到SQL Server中 - 刪除雙引號

Bulk Insert tblUsersXTemp 
from 'C:\FR0250Members161212_030818.csv' 
WITH (FIELDTERMINATOR = '","', 
ROWTERMINATOR = '"\n"', 
--FormatFile ='' 
ERRORFILE = 'C:\bulk_insert_BadData.txt') 

enter image description here

+0

有問題的行是CSV的第一個還是最後一個? – SQLChao

回答

2

執行批量插入後,可以替換雙引號。

UPDATE tblUsersXTemp 
SET usxMembershipID = REPLACE(usxMembershipID, CHAR(34), '') 
1

您需要的格式的文件,我相信,這就是我想是怎麼回事。

如果使用下面的「批量插入」命令導入數據而不使用格式文件,那麼您將使用第一個列值的引號前綴和最後一個列值的引號後綴以及第一列值。從參考

Reference

例子:

BULK INSERT tblPeople 
    FROM ‘bcp.txt’ 
    WITH (
     DATAFILETYPE=‘char’, 
     FIELDTERMINATOR=‘","’, 
     ROWTERMINATOR = ‘\n’, 
     FORMATFILE = ‘bcp.fmt’); 

您還可能有一個使用引號的不僅僅是分隔符更髒數據。