删除标记周围的文字

时间:2013-05-15 21:47:47

标签: sql tsql

我有一个sql表,其中包含大约300条格式错误的电子邮件,我正在尝试清理它们。我正在尝试检索所有电子邮件地址,以便将其转储到另一个表中。

我想做的是编写一个查询,删除

之前和之后的所有文本
 <Address /> 

标签。我想在我的查询中显示以下结果:

       <Address id="ref-12">JohnDoe@MyWebSite.com</Address>
       <Address id="ref-12">JaneDoee@MyWebSite.com</Address>
        Etc..

不确定如何真正开始此查询或搜索内容。

2 个答案:

答案 0 :(得分:2)

我对你的问题有点不清楚,但是如果你想删除电子邮件周围的标签,那就试试吧:

update table
set email = replace(email, '<Address id="ref-12">', '')

然后这个:

update table
set email = replace(email, '</Address>', '')

答案 1 :(得分:1)

试试这个:

UPDATE  mytable
SET     email = SUBSTRING(email, CHARINDEX('>', email) + 1,
                      LEN(email) - CHARINDEX('>', email) - 10) 
WHERE RIGHT(email,1) = '>'