假设我从文本文件中导入了以下数据集:
Data
--------------------
1,"John Davis","Germany"
2,"Mike Johnson","Texas, USA"
3,"Bill "The man" Taylor","France"
我正在寻找一种方法来删除数据中的每个"
,除非它后面或前面有,
。
所以在我的情况下,数据应该变成:
Data
--------------------
1,"John Davis","Germany"
2,"Mike Johnson","Texas, USA"
3,"Bill The man Taylor","France"
我尝试使用SSIS中的import tekst文件组件,但是当我将列分隔符设置为"
时会出错。如果我没有设置分隔符,它会将“Texas,USA”中的逗号视为拆分分隔符....
有任何建议/想法吗?
文件文件太大,无法为每一行手动更改此内容。答案 0 :(得分:2)
关于最后一次""'的警告,但是:
Create table #test ([Data] nvarchar(max))
insert into #test values ('1,"John Davis","Germany"' )
insert into #test values ('2,"Mike Johnson","Texas, USA"' )
insert into #test values ('3,"Bill "The man" Taylor","France"')
select replace(replace(replace(replace([Data],',"',',~'), '",','~,'),'"', ''),'~','"') + '"'
from #test