SQL在select语句中的几行中从列拆分文本

时间:2016-03-15 18:05:18

标签: sql sql-server sp-send-dbmail dbmail

我正在SQL Server 2014中创建一个作业,最后一步是将第一步的输出发送到我的电子邮件。我已经发送了包含下一个查询结果的电子邮件:

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 个答案:

答案 0 :(得分:2)

看起来像#34;已执行:"在字符串中出现了一堆,所以我可以从以下内容开始:

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