11
我將使用以下sql從excel中讀取數據,但有時我需要跳過前幾行。例如真正的數據從第5行開始,所以我需要跳過前4行,這是可行的嗎?excel的openrowset:我們可以跳過幾行嗎?
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=c:\daniel\test.xls',
'SELECT * FROM [sheet1$]');
這會減慢ETL過程以執行row_number()。我不確定sql server是否可以並行加載數據,如果是這樣的話,rownum不能反映文件中的位置,比如線程1加載前100行,線程2加載第100行,那麼這是可能的第二百行被首先裝入數據庫 – 2011-02-08 23:39:44
@Daniel Wu:那麼我們得到了什麼?有了訂購的ROW_NUMBER,這個過程很可能會放慢,是的。而無序的很可能會分配行號不同於Excel表中的行的實際順序。所以我的回答在這種情況下幾乎變成了垃圾。對不起,我似乎暫時沒有選擇。如果只有這樣的話:你可能可以在原始Excel文檔中對行進行編號嗎?也就是說,添加一個包含表示實際行號的值的列,以便在SQL中篩選它。 – 2011-02-09 00:05:30