2016-03-15 63 views
0

我在SQL Server 2014中創建了一個作業,最後一步是將第一步的輸出發送到我的電子郵件。我已經與下一個查詢結果發送電子郵件:SQL在選擇語句中從多行中的列中拆分文本

select TOP 1 
    msdb.dbo.agent_datetime(run_date, run_time) as 'RunDateTime', 
    message 
from 
    sysjobhistory 
where 
    job_id = 'SOMETHING' and step_id = 1 
order by 
    run_date DESC, run_time DESC 

message列有一個很大的文本,並將其輸出於一身行,你可以在此圖像中看到:

Example of the email received

我想知道是否有可能將文本分成幾行。我可以在分隔符的基礎上做到這一點。我看到了一些功能,但他們所做的只是將文本以行和列分開,而我不想那樣做。

謝謝:)

+1

我等格式結果HTML電子郵件的目的。然而,這樣的努力太詳細了(至少對我來說)是放在Stack Overflow答案中的。 –

+1

您打算如何決定在哪裏分割線? –

+0

我不能分裂的子字符串「執行」@TomH – patricia

回答

2

它看起來像「伏法」變成了繩子在一堆,所以我可能會喜歡的東西開始:

SELECT TOP 1 
    msdb.dbo.agent_datetime(run_date, run_time) as 'RunDateTime', 
    REPLACE(message, 'Executed:', CHAR(13) + 'Executed:') AS message 
FROM 
    sysjobhistory 
WHERE 
    job_id = 'SOMETHING' and step_id = 1 
ORDER BY 
    run_date DESC, 
    run_time DESC 
+0

謝謝,這解決了問題:) – patricia

+1

我喜歡'CHAR(13)+ CHAR(10)' –

+0

是的,取決於你如何查看文本,它可能會更好地使用13-10,而不僅僅是13。 –