访问SQL查询:在字符串中的“SMTP”之前提取电子邮件

时间:2016-01-20 06:28:14

标签: sql ms-access-2010

是否有表达式在字符“SMTP”之前提取电子邮件...或截断以下字符串示例中以“SMTP”开头的字符串?

xyz@xyz.comSMTPfirst last(xyz@xyz.com)

问题:Outlook导出带有连锁数据的电子邮件。

...解决

我输入的代码如下,它有效!

Contacts: Left([Email],InStr([Email],"SMTP")-1)

谢谢!!!

2 个答案:

答案 0 :(得分:1)

在Access'查询设计器中,它将是:

EMail: Left([YourField], InStr([YourField],"SMTP")-1)

在SQL中:

Select *, Left([YourField], InStr([YourField],"SMTP")-1) As EMail
From YourTable

答案 1 :(得分:-1)

您可以使用LEFTPATINDEX将字符返回到模式的左侧。

SELECT CleanEmail = 
    CASE WHEN @line LIKE '%SMTP%'
        THEN LEFT(@line, PATINDEX('%SMTP%', @line) - 1)
        ELSE NULL
    END