Microsoft SQL查询文本文件中的值

时间:2018-02-13 23:52:30

标签: sql sql-server sql-server-2008 text input

我希望能够输入我所有的'其中='来自文本文件的值,而不是在查询编辑器中手动输入它们...

即。而不是有一堆where语句(参见下面的第一个例子),有一个where子句使用文本文件作为过滤器值(参见下面的第二个例子)。

示例1

Select *
From table1
WHERE
(Email_Address = 'blah@blah.com') OR 
(Email_Address = 'blah@blah.com') OR 
(Email_Address = 'blah@blah.com') OR 
(Email_Address = 'blah@blah.com') OR 
(Email_Address = 'blah@blah.com') OR 
(Email_Address = 'blah@blah.com')    

示例2

Select * 
From table1
WHERE
(Email_Address = 'c:\temp\emails.txt')

.......

2 个答案:

答案 0 :(得分:0)

我用来执行此操作的方法是右键单击数据库并将电子邮件作为新表导入。

然后我使用Like函数来比较两个表:

use Database

SELECT  Email FROM Emails
JOIN EmailToLookFor ON Emails LIKE EmailsToLookFor.Email + '%'

在此示例中,EmailsToLookFor是您导入的新表,而电子邮件是要搜索的表, 在两个表中,电子邮件是包含电子邮件的字段;如果您希望搜索有关找到的电子邮件地址的更多信息,请输入以下内容:

SELECT  Email, Username, Name etc. FROM Emails

希望这会有所帮助......

答案 1 :(得分:0)

如果您的电子邮件地址可以轻松粘贴到您的查询中,则可以使用IN子句

Select *
From table1
WHERE Email_Address IN ('email1@blah.com', 'email2@blah.com', 'email3@blah.com', 'email4@blah.com')