我想从sql中的CSV文件批量导入,但是\ n for new line在SQL中不起作用

时间:2019-09-18 18:00:05

标签: sql-server csv

我想从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

预先感谢

1 个答案:

答案 0 :(得分:0)

我在@DVO的帮助下做到了。谢谢@dvo的回答。按照您的指示,它工作正常。我使用了notepad ++,并查看了隐藏的字符并进行了相应的处理。