当前位置: 代码迷 >> Sql Server >> 数据库脚本读取CSV文件,该如何解决
  详细解决方案

数据库脚本读取CSV文件,该如何解决

热度:26   发布时间:2016-04-24 08:52:41.0
数据库脚本读取CSV文件
CSV 文件如下,我需要的是前面5行的column2, 以及最后第六行的column4, 如何用数据库脚本实现呢?
column1,column2
column1,column2
column1,column2
column1,column2
column1,column2
column1,column2, column3,column4
column1,column2, column3,column4
------解决思路----------------------

另外,你这个需求有点不一样,可以这么实现:

--6.先查看要导入的数据  
select top 5 column2  
from   
openrowset(bulk 'c:\wc.csv',             --要读取的文件路径和名称   
                formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                  
                firstrow = 2,            --要载入的第一行,由于第一行是标题,所以从2开始  
                --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                  
                maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                  
                rows_per_batch = 10000                    --每个批处理导入的行数  
          ) as t   

union all

select column4 
from 
(
select *,row_number() over(order by getdate()) rn
from   
openrowset(bulk 'c:\wc.csv',             --要读取的文件路径和名称   
                formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                  
                firstrow = 2,            --要载入的第一行,由于第一行是标题,所以从2开始  
                --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                  
                maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                  
                rows_per_batch = 10000                    --每个批处理导入的行数  
          ) as t   
)t
where rn = 6
  相关解决方案