在Sql中替换@之后的所有电子邮件地址

Abd*_*dul 6 t-sql sql-server

我有一个电子邮件列表.我想更改所有这些以测试我的测试系统的电子邮件,例如John@gmail.com到john@test.com.我不想使用实际的电子邮件,因为它会产生问题.是否可以在单个查询或存储过程中一次更改所有电子邮件.

Abd*_*dul 8

我试过这个,它完美无缺.

 UPDATE myTable  SET UserEMail = 
 (SELECT SUBSTRING(UserEMail, 0, PATINDEX('%@%',UserEMail)) + '@example.org' 
 from myTable U WHERE U.UserID = myTable.UserID)
Run Code Online (Sandbox Code Playgroud)


Pra*_*ant 8

试试这个

UPDATE users SET email=REPLACE(email, SUBSTRING(email,INSTR(email,'@')+1),
'example.com')
Run Code Online (Sandbox Code Playgroud)

  • 我认为它需要一个扩展:`查询中的错误(7):错误:函数instr(字符变化,未知)不存在`..哎呀!问题是关于 [tag:tsql] 。我在这里 [tag:psql] (3认同)

小智 5

这对我有用:

更新[表] [电子邮件] = REPLACE([电子邮件], '@company.com', '@test.com')