将选定的数据从平面文件导入Microsoft SQL Server Management Studio 2008

时间:2016-04-18 14:45:31

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

这可能是一个重复的问题,但我找不到答案。请帮我! :)

我有一个大型数据集,我不想将整个数据集导入服务器:1。需要很长时间。 2.美德记忆力低,因为它来自本地平面文件。

因此,我只想导入选定的数据,例如从某个时间段开始。

以下是一个例子:

姓名,年龄,开始日期

一个,24,20150102

B,23,20150304

C,28,20160419

假设我只想在2015年使用行 - 过滤掉2016年的第三行。如何在导入过程中执行此操作(不导入整个数据集然后运行选择)?我目前正在使用向导和批量插入来查询。

bulk insert [a].[dbo].[testdata]
from 'C:\fakepath\testdata.txt' 
with 
(firstrow=2,
fieldterminator = ',', 
rowterminator = '\n')

如果无法实现过滤,请在加载过程中将数据集切成两半。

请帮帮我,谢谢!

1 个答案:

答案 0 :(得分:0)

基于标准的选择数据是数据库引擎的工作。因此,如果要过滤数据,则需要在表中使用,因此可以使用SQL Server引擎。

Management Studio不是引擎。是一个解析器。它将查询传递给引擎并显示结果。

使用BULK INSERT的FIRSTROW和LASTROW参数导入部分文件。

BULK INSERT (Transact-SQL)

示例:

bulk insert [a].[dbo].[testdata]
from 'C:\fakepath\testdata.txt' 
with 
(firstrow=2000,lastrow=3000
fieldterminator = ',', 
rowterminator = '\n')