sql - 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 函数来使其工作,但没有得到正确的组合。
解决方案
我会在这里保持简单,只使用CHARINDEX
with LEFT
:
UPDATE yourTable
SET email_id = LEFT(email_id, CHARINDEX('@', email_id) - 1) + 'outlook.com';
推荐阅读
- django - SESSION_EXPIRE_AT_BROWSER_CLOSE 我们需要在 django 的项目中写到哪里?
- python - 如何在 Pytorch 中修复或冻结卷积滤波器的子集?
- angular - 为什么我会得到两份 Injectable?
- android - 应用程序从 Google Play 接收更新时的生命周期
- angular - 另一个 ID 为 ####### 的进程当前正在运行 ngcc
- sql - 如何从子查询中获取多列?[错误] 执行 (167: 13): ORA-00913: 值太多
- python - Python OpenGL - 线程中没有有效的上下文
- stream - Elixir:如何跨多个管道维护 Stream 状态?
- java - 在 REST API 中使用不同的路径访问相同的资源
- date - Google表格中的动态日期功能-如何实现?