Dan*_* Wu 11 sql sql-server openrowset
我将使用以下sql从excel读取数据,但有时我需要先跳过几行.例如,真实数据从第5行开始,所以我需要跳过前4行,这是可行的吗?
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=c:\daniel\test.xls',
'SELECT * FROM [sheet1$]');
Run Code Online (Sandbox Code Playgroud)
Ano*_*non 16
使用范围[sheet1 $ A5:Z]而不是整张表[sheet1 $]
SELECT *
FROM OPENROWSET(
'Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=c:\daniel\test.xls',
'SELECT * FROM [sheet1$A5:Z]'
);
Run Code Online (Sandbox Code Playgroud)
这将对获得的行进行编号,没有特定的顺序(幸运的是):
SELECT *
FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS rownum
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=c:\daniel\test.xls',
'SELECT * FROM [sheet1$]')
) s
WHERE rownum > 4;
Run Code Online (Sandbox Code Playgroud)
如果您认为合适,可能需要通过更改rownum
定义来指定一些顺序:
ROW_NUMBER() OVER (ORDER BY specific_column_list) AS rownum
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15619 次 |
最近记录: |