如何从数据库中选择不同的电子邮件引擎提供程序(SQL Server 2008)

时间:2013-07-03 08:36:55

标签: sql sql-server sql-server-2008

假设一张桌子有很多电子邮件ID。我们需要不同的电子邮件引擎服务提供商就像一个例子..

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

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

请帮帮我。

1 个答案:

答案 0 :(得分: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