.csv文件会被外部公司每晚转储到我的FTP服务器上。 (因此我无法控制其格式,也不会改变它,因为它被其他几家公司使用。)
我的任务是创建一个运行的作业,从文件中提取信息(然后删除它),并将提取的数据插入到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。
答案 0 :(得分:0)
我的方法是:
答案 1 :(得分:0)