如何更新多个集程序

时间:2014-08-27 21:46:33

标签: sql

我遇到了正则表达式的问题,因为它更新了根本不起作用的电子邮件的多重集。你看我正在尝试更新。

 alisonsmith@gmail.com
 bobgraves@hotmail.com
 smithers@yahoo.com
 011013092949@msn.ca
 011513025559@aol.ca
 101513025559@MSN.COM

结果应如下所示:

 alisonsmith@dony.com
 bobgraves@dony.com
 smithers@dony.com
 011013092949@dony.com
 011513025559@dony.com
 101513025559@dony.com

我已经尝试过这样的更新程序,它根本不起作用:

 update dony_membership   
  set Email  = LEFT(Email,12)+'@dony.com'
  set Email  = LEFT(Email,0)+'@dony.com'
  where Email LIKE '%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]@%'
  or Email  LIKE'@%'

1 个答案:

答案 0 :(得分:1)

因为看起来你想要在所有行的@ -sign之后更改部分,我不会打扰正则表达式,而只是保留@ -sign之前的内容并附加新域名(dony) .com):

update dony_membership   
set email = left(email, charindex('@', email, 0)) + 'dony.com'

Sample SQL Fiddle为了您的观赏乐趣:)