CSV中的T-SQL OpenRowSet缺少标题行

时间:2016-12-21 14:19:12

标签: sql-server tsql openrowset

我有一个没有HEADER行的CSV。使用OpenRowSet假设第一行是HEADER行。我该如何防止这种情况发生?我知道我的CSV文件中有18,000条记录,但是当我使用OpenRowSet打开时,我只得到17,999条,而CSV中的第一行标记为列标题。

TIA

1 个答案:

答案 0 :(得分:1)

openrowset添加firstrow选项。

例如:

select *
  from openrowset(bulk n'd:\test-csv.csv'
      , formatfile = n'd:\test-csv.fmt'
      , firstrow=1 
      , format='csv'
      ) as eg;  

正如Alex K.所提到的,当使用连接字符串到没有标题行的源时,使用HDR=NO会有所帮助。

select * 
  from openrowset('Microsoft.Jet.OLEDB.4.0'
    , 'Excel 8.0;Database=d:\test.xls;HDR=No'
    , 'SELECT * FROM [Sheet1$]'
    ) as eg.