Я пытаюсь отправить файлы csv через sp_send_dbmail, и в одном из полей (результат) есть запятые. При выполнении кода ниже, он будет автоматически разделять некоторые результаты в виде двух столбцов.
Я пытался изменить @query_result_separator, но тогда он вообще ничего не отделил бы, кроме поля результатов, которое в итоге дает мне два столбца.
declare @filename NVARCHAR(MAX)
DECLARE @prefix varchar(50)
DECLARE @q varchar(max)
DECLARE @body NVARCHAR(MAX)
SET @body = 'abc'
SET @filename = concat('abc_',replace(cast(cast(getdate() as date) as varchar),'-','_'),'.csv')
SET @prefix = '[sep=,' + CHAR(13) + CHAR(10) + 'ID]'
SET @q ='set nocount on; select right(''"=""'' + cast(ID as nvarchar) + ''"""'', 24)' + @prefix + ',Outcome, isnull(cast(Outcomedate as varchar),'''') as OutcomeDate,isnull(cast(Alerts as varchar),'''') as Alerts
from database.abc.defg'
EXEC msdb.dbo.sp_send_dbmail
@body = @body,
@body_format ='HTML',
@recipients = 'abc@defg.com',
@subject = 'abc',
@query = @q ,
@attach_query_result_as_file = 1,
@query_attachment_filename = @filename,
@query_result_separator = ',',
@query_result_no_padding = 1,
@query_result_width = 500;