sql部分更改表中一列中的所有数据,如将所有电子邮件地址从@gmail更改为@yahoo
我有一个表格,上面有所有学生的姓名和电子邮件ID。 电子邮件ID以@yahoo.com或rediff.com等结尾,有没有办法将它们全部改为@gmail.com?sql部分更改表中一列中的所有数据,如将所有电子邮件地址从@gmail更改为@yahoo,sql,sql-server,Sql,Sql Server,我有一个表格,上面有所有学生的姓名和电子邮件ID。 电子邮件ID以@yahoo.com或rediff.com等结尾,有没有办法将它们全部改为@gmail.com? 我正在使用sql server。您将使用replace(): 如果要更改表中的数据,也可以将其放入更新中 这对于电子邮件是安全的,因为@在电子邮件地址中只出现一次 update t set email = replace(email, '@yahoo.com', '@email.com') where email li
我正在使用sql server。您将使用
replace()
:
如果要更改表中的数据,也可以将其放入更新中
这对于电子邮件是安全的,因为@
在电子邮件地址中只出现一次
update t
set email = replace(email, '@yahoo.com', '@email.com')
where email like '%@yahoo.com';
试试像这样的东西
BEGIN TRAN
UPDATE t
SET email =
REPLACE(
emailIn
, SUBSTRING(
emailIn
, CHARINDEX('@', emailIn)
, LEN(emailIn) - CHARINDEX(emailIn, '@')
)
, '@gmail.com'
)
COMMIT TRAN
使用事务处理确保您拥有所需的电子邮件地址。回滚要比恢复备份容易得多。如果您使用的是mysql,请运行以下查询:
UPDATE your_table_name
SET your_column_name = REPLACE(your_column_name,
'@yahoo.com','@gmail.com ');
同样,您也可以使用@rediff.com,将其替换为@yahoo.com等等。感谢您的快速响应。但所有的电子邮件地址都不一样。有些是雅虎,rediff等。我希望他们都改成gmail。com@ZaheenHaris . . . 你应该问另一个问题。这封信显然是关于以“yahoo.com”结尾的电子邮件。在回答问题后更改它是不友好的,因为这样的更改会使答案无效。请更新标题以保持一致性。你的标题是“gmail对雅虎”,但你的问题是“雅虎对gmail”。在问这个问题之前,你应该试着自己解决这个问题。如果您已经尝试以某种方式解决此问题,请发布您尝试过的内容。您的查询中的emailIn是什么?@ZaheenHaris抱歉,emailIn只是您要更改的电子邮件地址的占位符。@ZaheenHaris如果解决了您的问题,请将此答案标记为已接受!~诚恳地说,从无人应答的队列中。你应该将该链接中的要点添加到你的答案中,而不是发布链接。您所指的页面可能会更改或消失,从而导致您的答案过时。您仍然可以编辑您的评论并添加这些详细信息。无需等待下一次:-)
UPDATE your_table_name
SET your_column_name = REPLACE(your_column_name,
'@yahoo.com','@gmail.com ');