2015-11-06 172 views
1

我想要做的是讀取文本文件,然後使用BULK INSERT創建表。帶條件的SQL BULK INSERT

這是文本文件的外觀

TIME  DATE   USER_NAME VALUE 

11:10:04 10/02/15  Irene I.  Moosa 

有很多行的例子,我的意思是很多,但有時候時間爲空或結束符不只是一個簡單的輸入和我「M試圖彌補它

是這樣的可能:

BULK INSERT #TEMP FROM 'C:\QPR_Logs\Audit\MetricsServerAudit.txt' 
WHERE [TIME] IS NOT NULL WITH (FIELDTERMINATOR =' ', ROWTERMINATOR = '\n') 

類似的東西,如果它讀取空值,它只是跳過行了? 對於結束字符,我不確定要使用什麼。 有沒有人有任何建議?

+0

'BULK INSERT #temporary ....; INSERT INTO #temp SELECT ... FROM #temporary WHERE ....' – lad2025

回答

0

嘗試OPENROWSET。既然你有自定義的行/列終結符,你可能需要一個格式文件。

select t1.* 
from openrowset(bulk 'c:\folder\file1.csv' 
     , formatfile = 'c:\folder\values.fmt' 
     , firstrow = 2) as t1 
where t1.[TIME] is not null