从同一个表中的另一列更新列

问题描述 投票:1回答:2

我们需要在表格中更新我们的邮件地址,因为我们有一个新的域名部分。当地部分保持不变

在表中是Name,Surname和Mail的列。 (和其他不重要的列)。

我们希望它最终看起来像这样:

Name    Surname     Mail
Test    Name        [email protected]
Test2   Name2       [email protected]

但是在尝试这样做时我们打破了它,现在邮件列只显示了新域。我们使用以下代码:

update table
set mail = Replace('olddomain.com','newdomain.com')
where mail LIKE '%olddomain.com'

所以现在我们需要恢复邮件列并添加新的域部分。有帮助吗?

mysql sql sql-server-2008
2个回答
2
投票

我很惊讶这个作品。通常,replace()有三个参数:

set mail = Replace(mail, 'olddomain.com', 'newdomain.com')

我可能会建议您在逻辑中包含@


1
投票

replace()接受三个参数

update table
set mail = Replace(mail,'@olddomain.com','@newdomain.com')
where mail LIKE '%olddomain.com'
© www.soinside.com 2019 - 2024. All rights reserved.