在 PostgresQL 中替换“@”后的所有电子邮件地址

Replace all email addresses after '@' in PostgresSQL

我有一个电子邮件列表。我想更改所有这些以测试我的测试系统的电子邮件,例如sam@gmail.com 到 sam@test.com。我不想使用实际的电子邮件,因为这些电子邮件是有效的,并且用户收到此类电子邮件会很糟糕。是否可以在单个查询中一次更改所有电子邮件?如果是这样,任何人都可以分享吗?谢谢。

您可以使用 REGEXP_REPLACE 函数来完成。

如果你只需要select,你可以使用下面的查询:

SELECT REGEXP_REPLACE(email, '@.*', '@test.com')
FROM tab

如果您想更新字段值,您可以使用:

UPDATE tab
SET email = REGEXP_REPLACE(email, '@.*', '@test.com');

试试看 here.