2015-02-09 120 views
0

我想將sql server查詢的結果導出到文件中。在sql server中使用bcp命令重命名文件

爲此我使用BCP命令

EXEC master..xp_cmdshell 'bcp "select * from customer " queryout C:\test\test.txt -T -c' 

不過,我需要命名與GETDATE()的結果文件,即

queryout C:\test\test#getdate()#.txt -T -c' 

任何人能知道,如果我們能這樣做?

感謝

回答

0

可以聲明一個變量,然後用它作爲xp_cmdshell的一個參數,像

declare @cmd varchar (1000) 

set @cmd = 'bcp ... C:\test\test.txt' + convert(varchar, getdate(), 112) + ' -T -c' 

EXEC master..xp_cmdshell @cmd 
+0

當然,你可以做串接在參數也沒有必要有一個變量 – 2015-02-09 17:13:05

0

試試這個

DECLARE @dt varchar(50) = (SELECT REPLACE(CONVERT(varchar(50),getdate(),120),':','-')) 
DECLARE @cmd varchar(2000) = 'bcp "select * from customer " queryout "C:\\test\\' + @dt + '.txt" -T -c' 
EXEC master..xp_cmdshell @cmd