SQL Server中BULK INSERT默认是否使用制表符分隔的输入数据?
BULK INSERT (Transact-SQL) 默认分隔符规则说明
你没有遗漏文档中的对应信息,该规则的说明位于参数定义的细节章节中:
- 针对SQL Server 2005版本的BULK INSERT工具,
FIELDTERMINATOR(字段分隔符)参数的默认值为\t(制表符),未显式指定该参数时,就会默认按照制表符拆分输入文件的字段,和你实际使用的表现完全一致。 - 配套的默认
ROWTERMINATOR(行终止符)为\r\n(回车换行符),二者组合刚好对应标准的制表符分隔(TSV)文本格式。
你提供的未配置WITH子句的执行代码,就会触发上述默认规则:
SET @Path = @Path + @FileName -- 从导入文件构建临时表数据 EXEC ('BULK INSERT #TempProviders FROM "' + @Path + '"')
如果需要适配其他分隔格式(比如CSV的逗号分隔),只需要在WITH子句中显式指定FIELDTERMINATOR即可。
内容的提问来源于stack exchange,提问作者Allan F
相关产品推荐
相关产品推荐

