我想从sql中的CSV文件批量导入,但是\ n换行不能在SQL中用作行终止符。如果我使用\ n,它将不会从csv文件中读取任何记录,但是当我使用
时, ROWTERMINATOR = '0x0A'
它混合了所有记录。
这是我在sp中使用的代码。
Create Table #temp
(
Field1 nvarchar(max) null,
Field2 nvarchar(max) null,
Field3 nvarchar(max) null
)
BULK INSERT #temp
FROM 'c:\file.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n', --not working
--ROWTERMINATOR = '\r', --not working
--ROWTERMINATOR = char(10), ---not working
--ROWTERMINATOR = char(13), ---not working
TABLOCK
)
INSERT INTO table_name
(
tbl_field1,tbl_field2,tbl_field3
)
SELECT
field1,
field2,
field3
FROM #temp
预先感谢
答案 0 :(得分:0)
我在@DVO的帮助下做到了。谢谢@dvo的回答。按照您的指示,它工作正常。我使用了notepad ++,并查看了隐藏的字符并进行了相应的处理。