附件以CSV格式发送。我该怎么做?
EXEC sp_send_dbmail @ profile_name =‘default’,@收件人= ‘dev的@ null.com’,@受试者= @ SUB,@体= @ BODY,
@ query =’SELECT [MID],[HID],[ 的MeC </跨度> ],[LC],[RowCDate]从
添加
'[sep=,' + CHAR(13) + CHAR(10) ColumnName]
结果解决了这个问题
看到 资源
这篇关于紫青蛙的评论 表示您还可以使用制表符作为分隔符。
看起来这个答案已经发布了,我的不好: https://stackoverflow.com/a/44315682/5758637
(如果紫蛙链接在将来死亡,则复制和粘贴):
DECLARE @tab char(1) = CHAR(9) EXEC msdb.dbo.sp_send_dbmail @profile_name='donotreply' ,@recipients ='xx@x' ,@query= @query ,@subject= 'xx' ,@attach_query_result_as_file=1 ,@query_attachment_filename='xx.csv' ,@query_result_separator=@tab ,@query_result_no_padding=1 �Ctrim ,@query_result_width=32767 �Cstop wordwrap
@query=' SET NOCOUNT ON; select ''sep=;'' select ''Col1'',''Col2'',''Col3'',''Col3'' select CONVERT(NVARCHAR,Col1),ISNULL(Col2, ''''),Col4 FROM ... SET NOCOUNT OFF; ', --Additional settings @query_attachment_filename = '*.csv', @query_result_separator = ';', @attach_query_result_as_file = 1, @query_result_no_padding= 1, @exclude_query_output =1, @append_query_error = 0, @query_result_header =0;
添加 @query_result_separator 应该做的伎俩。
@query_result_separator
EXEC sp_send_dbmail @profile_name='default', @recipients='dev@null.com', @subject=@SUB, @body=@BODY, @query= 'SELECT [MID],[HID],[MeC],[LC],[RowCDate] FROM [JBC].[dbo].[Table1] WHERE RowCDate >= GETDATE() ', @attach_query_result_as_file=1, @query_attachment_filename = 'Results.csv', @query_result_separator = ','
添加 @query_result_no_padding = 1 可能会稍微清理一下结果。所有的论点都可以找到 这里
@query_result_no_padding = 1
在一个过程中:
`SELECT table.myColumn AS [sep=, myColumn] , table.myCol2 , table.myCol3...`
在“sep =”之后的列别名内具有正常的硬回车。