我在数据库中有一个包含电子邮件地址的记录列表。
我想提取只有@gmail、@Hotmail 和@Yahoo 电子邮件地址的记录。我还想要按域名排序的记录。
我的代码:
SELECT [AccountId]
,[FirstName]
,[LastName]
,[EMailAddress]
FROM [Contacts]
WHERE EMailAddress IN ('%@GMAIL%', '%@HOTMAIL%', '%@YAHOO%')
ORDER BY SUBSTRING(EMailAddress,(CHARINDEX('@',EMailAddress)+1),1)
我遇到的问题是我得到零记录,因为我没有电子邮件地址为 %@GMAIL 或 %@HOTMAIL 或 %@YAHOO 的记录。
如果我将代码更改为:
WHERE EMailAddress LIKE '%@GMAIL%'
然后我会得到所有带有 Gmail 地址的记录。但我想要所有上述电子邮件地址的记录。
我也试过:
WHERE CONTAINS (EMailAddress, '"*GMAIL*" OR "*HOTMAIL*" OR "*YAHOO*"')