2011-10-19 54 views
0

我们公司最近更改了我们的电子邮件地址。只有@更改后的部分。例如,如果您的电子邮件是[email protected]现在是[email protected]如何在SQL Server中拆分varchar

在我们的数据库中,有一列存储所有电子邮件。我需要将所有旧电子邮件转换为新电子邮件。

我为我的SQL:

 

update Contacts set EmailAddress1=() where EmailAddress1 like '%oldEmail.com%'; 
 

where部分应该拉旧电子邮件地址的所有行,但我不知道如何将它们设置为新的一个。我需要做一些字符串操作。有没有简单的方法来做到这一点?

它为Microsoft SQL Server 2008 R2

+0

你不想要或需要后'oldEmail.com'的''%。 –

+0

在那里有允许在'.com'之后有字符吗? – user489041

+0

就是这样。从你的描述中,你不需要那个,你只需要领先的'%'。 –

回答

4

试试这个:

update Contacts 
set EmailAddress1 = REPLACE(EmailAddress1,'@oldEmail.com','@newEmail.com') 
where EmailAddress1 like '%oldEmail.com'; 
+0

真棒,完美工作 – user489041