BCP如何指定空的field_terminator

时间:2013-11-06 16:03:28

标签: sql-server bcp

我是SQL Server上的BCP新手,我已经检查了http://msdn.microsoft.com/en-us/library/ms162802.aspx以了解如何使用BCP参数。 field_terminator的参数是-t,如果我想在每个字段之间放一个逗号我放'-t',那没关系。 但是如何在字段之间指定一个空的“空格”?

我有alredy试图不放'-t'参数,但默认情况下它是一个TAB ...

谢谢

编辑:对不起,我不够精确,它是用于带有SQL查询的BCP EXPORT,如

'BCP "select * from ##OutputTable' + '" queryout \\server\filename_' + CONVERT(VARCHAR(10), @CurrentID) + '.upl -t , -w -T -S' + @InstanceName

4 个答案:

答案 0 :(得分:2)

文档中没有提供太多详细信息。对于空格分隔的日志,BCP实际上需要十六进制表示(0x20)。这在cmd行中对我有用:

bcp webLogs.dbo.iisLogs IN C:\temp\logs\ex170112.log -c -t0x20 -S localhost\SQLEXPRESS -T

答案 1 :(得分:0)

与批量插入答案类似,您应该能够使用-t' '将空格指定为字段终止符。

'BCP "select * from ##OutputTable' + '" queryout \\server\filename_' + CONVERT(VARCHAR(10), @CurrentID) + '.upl -t' ' -w -T -S' + @InstanceName 

答案 2 :(得分:0)

当我使用\ 0终止符(空终止符)时,我设置为输出的文本文件在每个列值之间有一个空格。也许这是你需要使用的那个。

答案 3 :(得分:-1)

尝试使用以下示例,但使用空格''而不是逗号。

USE AdventureWorks;
GO
BULK INSERT myDepartment FROM 'C:\myDepartment-c-t.txt'
   WITH (
      DATAFILETYPE = 'char',
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '\n'
);
GO