【问题标题】:Rename SQL Result file to Date format "MMDDYYYY" Automatically?自动将 SQL 结果文件重命名为日期格式“MMDDYYYY”?
【发布时间】:2015-10-31 10:06:57
【问题描述】:

我有以下 SQL 查询,非常适合我。但是,我想将我的 .csv 文件名设置为日期格式“MMDDYYYY”,这意味着每当每天执行作业时,它应该在作业时自动将“Results.csv”的名称设置为当前系统日期已执行,我如何编辑下面的代码以满足相同的要求。

EXEC msdb.dbo.sp_send_dbmail @profile_name='default',
@recipients='dev@null.com',
@subject='test mail',
@query= 'SELECT * from testtable',
@attach_query_result_as_file=1,
@query_attachment_filename = 'Results.csv',
@query_result_separator = ','

【问题讨论】:

    标签: sql sql-server sql-server-2008 tsql csv


    【解决方案1】:

    试试这个:

    DECLARE @FileName varchar(20)
    SELECT @FileName = 'Results' +  REPLACE(CONVERT(varchar(10),GETDATE(),101),'/','') + '.csv'
    EXEC sp_send_dbmail @profile_name='default',
    @recipients='dev@null.com',
    @subject='test mail',
    @query= 'SELECT * from testtable',
    @attach_query_result_as_file=1,
    @query_attachment_filename = @FileName ,
    @query_result_separator = ','
    

    【讨论】:

    • 我尝试了上述方法,但它显示 +?? 附近的语法不正确?
    • @Oman - 我删除的文件名后面多了一个逗号。再试一次
    • 我也试过了,但它仍然显示'+'附近的语法不正确,并且'Results'之后的'+'下面有一条红线
    • 修改为在分配给 query_attachment_filename 之前计算完整的文件名。
    • 将@filename 增加到 varchar(20)
    猜你喜欢
    • 1970-01-01
    • 2017-10-29
    • 2021-06-09
    • 2017-02-25
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多