如何在 SQL 中 TRIM 发送电子邮件以仅保留不重复的域(仅 1 个域)

How to TRIM email in MSQL to only leave domain without duplicates (Only 1 domain)

我的 MSQL 服务器中有电子邮件列,我需要 trim 电子邮件仅离开域。所以 @ 左侧的所有内容(包括“@”)都需要消失。同时我只需要 1 个域,所以不会重复..

示例:

Column name = Domains

TEST@EXAMPLE.COM
TEST2@EXAMPLE.NET
TEST3@EXAMPLE.COM
         .
         .
         .

-------- 从 -> 到 --------

Column name = Domains

EXAMPLE.COM
EXAMPLE.NET
DECLARE @foo TABLE (foo varchar(100));
INSERT @foo
VALUES
('TEST@TESTCOMPANY.COM'),
('TEST2@TESTCOMPANY2.COM'),
('TEST3@TESTCOMPANY.COM')

--fun version
SELECT DISTINCT
    PARSENAME(REPLACE(foo, '@', '.'), 2) + '.' + PARSENAME(foo, 1)
FROM
    @foo

--deals with more than 3 dots
--8000 allows us to *not* know the actual string length. It "just works"
SELECT DISTINCT
    SUBSTRING(foo, CHARINDEX('@', foo)+1, 8000)
FROM
    @foo