Sql server 在sql server中使用bcp命令重命名文件

Sql server 在sql server中使用bcp命令重命名文件,sql-server,Sql Server,我想将sql server查询的结果导出到文件中 为此,我使用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' 有人知道我们能不能做到吗 谢谢您可以声明一个变量,然后将其用作xp\u cmdshell的参数,例如 de

我想将sql server查询的结果导出到文件中

为此,我使用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'
有人知道我们能不能做到吗


谢谢

您可以声明一个变量,然后将其用作xp\u cmdshell的参数,例如

declare @cmd varchar (1000)

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

EXEC master..xp_cmdshell @cmd
试试这个

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

当然,您也可以在参数处进行连接,不需要有变量