这可能是一个重复的问题,但我找不到答案。请帮我! :)
我有一个大型数据集,我不想将整个数据集导入服务器: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')
如果无法实现过滤,请在加载过程中将数据集切成两半。
请帮帮我,谢谢!
答案 0 :(得分:0)
基于标准的选择数据是数据库引擎的工作。因此,如果要过滤数据,则需要在表中使用,因此可以使用SQL Server引擎。
Management Studio不是引擎。是一个解析器。它将查询传递给引擎并显示结果。
使用BULK INSERT的FIRSTROW和LASTROW参数导入部分文件。
示例:
bulk insert [a].[dbo].[testdata]
from 'C:\fakepath\testdata.txt'
with
(firstrow=2000,lastrow=3000
fieldterminator = ',',
rowterminator = '\n')