如何在SQL Server中添加多个选择语句一个bcp命令

时间:2019-05-15 19:18:53

标签: sql sql-server bcp

我有一个bcp命令来创建带有列和标题的文件。我需要在文件顶部添加时间戳,并在最后添加CtrlC。我该如何实现?

这对具有全部并集的查询有效。

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

1 个答案:

答案 0 :(得分:0)

简单的方法是创建带有标题和数据(unionall)的视图并在BCP中查询该视图