如何在 SQL 服务器中添加多个 select 语句一个 bcp 命令

How to add multiple select statement one bcp command in SQL Server

我有一个 bcp 命令来创建一个包含列和 headers 的文件。我需要在文件顶部添加时间戳,最后添加 Ctrl C。我该如何实现?

这适用于具有 union all 的查询。

DECLARE @Query VARCHAR(5000) ='select ''Col1'', ''Col2'', ''Col3'' union all select col1, col2, col3 from TestTable ' 
DECLARE @cmd1 VARCHAR(5000)='bcp "' + @Query +'" queryout "' +  @File + '" -c -T' 

我尝试将它们放在多个查询中并将它们连接到一个查询中

这是我试过的

DECLARE @Query1 VARCHAR(5000)='Select Getdate();'
DECLARE @NewLineChar AS CHAR(2) = CHAR(13) + CHAR(10)
DECLARE @Query2 VARCHAR(5000) ='select ''Col1'', ''Col2'', ''Col3'' union all select col1, col2, col3 from TestTable '
DECLARE @Query VARCHAR(5000)=@Query1 + @NewLineChar + @Query2 
DECLARE @cmd1 VARCHAR(5000)='bcp "' + @Query +'" queryout "' +  @File + '" -c -T' 

输出文件应该是这样的

12/14/18 17:10

Col1 Col2 Col3
1      2   3  
4      5   6
^C

简单的方法是使用 header 和数据 (unionall) 创建一个视图,并在您的 BCP

中查询该视图