1

假设一个表有很多电子邮件 ID。我们需要不同的电子邮件引擎服务提供商。比如说..

id | EmailID
-------------
1  | aa@gmail.com
2  | bb@yahoo.com
3  | cc@outlook.com
4  | dd@aol.com
5  | ee@gmail.com

所以我们看到,Gmail、Yahoo、Outlook、AOL 有四 (4) 个不同的电子邮件 ID 提供商。我们应该使用什么 SQL 查询来找出不同的电子邮件引擎提供商(即,在 '@' 之后的这个 EmailID 是不同的,而在 .com 之后可能是相同的)

请帮助我。

4

1 回答 1

3
select Distinct substring(EmailID,charindex('@',EmailID,1)+1,len(EmailId))
from Table1

如果你只想提取像gmail,yahoo,outlook,outlook

然后试试下面的Query

select 
Distinct 
substring(EmailID,
        charindex('@',EmailID,1)+1,
        charindex('.',EmailID,charindex('@',EmailID,1)+1)-charindex('@',EmailID,1)-1)
from Table1
于 2013-07-03T08:39:59.067 回答