我将使用以下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$]');
我将使用以下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$]');
使用区域 [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]'
);
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;
如果您认为需要,可以通过更改rownum
的定义来指定一些顺序,例如:
ROW_NUMBER() OVER (ORDER BY <i>specific_column_list</i>) AS rownum