.csv文件被外部公司夜間拋到我的FTP服務器上。 (因此我無法控制它的格式,也不會改變它,因爲它被其他幾家公司使用。)字段分隔符中的通配符 - 讀取.csv文件
我的任務是創建一個工作,從文件中提取信息(然後刪除它)並將提取的數據插入到SQL表中。
這是信息的包含.csv文件中的格式爲:
[Message]Message 1 contains, a comma,[Cell]27747642512,[Time]3:06:10 PM,[Ref]144721721
[Message]Message 2 contains,, 2 commas,[Cell]27747642572,[Time]3:06:10 PM,[Ref]144721722
[Message],[Cell]27747642572,[Time]3:06:10 PM,[Ref]144721723
我有一個SQL Server 2012的表具有以下的列:
Message varchar(800)
Cell varchar(15)
Time varchar(10)
Ref varchar(50)
我想用的東西像SQL批量插入(見下文)從.csv文件中讀取並插入到上面的SQL表中。
BULK INSERT sms_reply
FROM 'C:\feedback.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n', --Use to shift the control to next row
TABLOCK
)
.csv文件中的分隔符不常見。我想知道是否有一種方法可以讓我在指定分隔符時使用通配符。例如'[%]'?
然後,這將忽略方括號之間的任何內容並提取兩者之間的信息。
我不能簡單地使用逗號來分隔字段,因爲在上面的.csv示例中可能會出現字段中的逗號。
或者如果任何人有任何其他建議,我會很感激。
TIA。
我不知道理解你所說的「不普通」的意思。分隔符是否總是'%'?或者它可能會改變?要麼 ? –
「不常見」,我的意思是它並不總是像「,」這樣的特定字符。查看頂部的.csv文件,您會注意到我需要的字段實際上由[Message],[Cell],[Time]和[Ref]分隔。即方括號內的字是分隔符。 –
我仍然看到逗號分隔每個字段。事實上,如果他們不在那裏,它不會是一個.csv文件。 –