首页 > 解决方案 > MSSQL 在某个字符后用另一个字符串替换字符串

问题描述

我在我的 sql 过程中收到一个电子邮件 ID。我需要用定义的字符串替换电子邮件客户端。

假设我收到诸如 abc@gmail.com 或 pqr@yahoo.com 或 mnz@hotmail.com 之类的电子邮件 ID,在这种情况下,我需要将 @gmail.com / @yahoo.com 替换为固定字符串。

abc@gmail.com - abc@outlook.com
pqr@yahoo.com - pqr@outlook.com
mnz@hotmail.com - mnz@outlook.com

因此,@ 之后的字符串将被我定义的字符串替换,而不管过程中接收到的数据如何。

尝试了替换方法,但没有奏效。我知道我需要使用 charindex、substring 和 left 函数来使其工作,但没有得到正确的组合。

标签: sqlsql-servertsqlsubstringcharindex

解决方案


我会在这里保持简单,只使用CHARINDEXwith LEFT

UPDATE yourTable
SET email_id = LEFT(email_id, CHARINDEX('@', email_id) - 1) + 'outlook.com';

推荐阅读