带条件的SQL BULK INSERT



我要做的是读取一个文本文件,然后使用BULK INSERT创建一个表。

这是一个文本文件如何看起来的例子

TIME       DATE         USER_NAME    VALUE
11:10:04   10/02/15     Irene I.     Moosa

有很多行,我的意思是很多,但有时时间是空的,或者结束字符不仅仅是一个简单的输入,我正在努力弥补

这样的事情可能吗:

BULK INSERT #TEMP FROM 'C:QPR_LogsAuditMetricsServerAudit.txt'
WHERE [TIME] IS NOT NULL WITH (FIELDTERMINATOR =' ', ROWTERMINATOR = 'n')

如果它读到一个空值,它就会跳过这一行吗?对于结尾的角色,我不太确定该用什么。有人有什么建议吗?

尝试OPENROWSET。由于您有自定义的行/列终止符,因此可能需要一个格式化文件。

select t1.*
from openrowset(bulk 'c:folderfile1.csv'
        , formatfile = 'c:foldervalues.fmt'
        , firstrow = 2) as t1
where t1.[TIME] is not null

最新更新