我想从以以下域名结尾的表中获取电子邮件地址。
@yahoomail.com
@accelerator.com
@learning.com
@cloud.vintage.com
答案 0 :(得分:1)
SELECT EMAIL_COLUMN_NAME
FROM TABLE_NAME
WHERE EMAIL_COLUMN_NAME LIKE '%@yahoomail.com' OR
EMAIL_COLUMN_NAME LIKE '%@accelerator.com' OR
EMAIL_COLUMN_NAME LIKE '%@learning.com' OR
EMAIL_COLUMN_NAME LIKE '%@cloud.vintage.com'
答案 1 :(得分:0)
rileyeaton_的答案是正确的,但我想提出一个建议。如果您的计划是多次执行此搜索并希望提高性能,则可以添加一个仅包含域的持久化计算列。
在以下代码中,我添加了一个计算列,该列提取域(包括@),并在该列上添加索引。
DECLARE @test TABLE (
Email nvarchar(255),
Domain AS SUBSTRING(Email, CHARINDEX('@', Email), 255) PERSISTED,
INDEX IX_Domain (Domain))
INSERT INTO @test VALUES ('abc@123.com')
SELECT * FROM @test WHERE Domain = '@123.com'
此查询将给出结果:
Email Domain
abc@123.com @123.com