2016-03-15 3 views
0

Я создаю задание в SQL Server 2014, и последний шаг - отправить вывод первого шага на мой адрес электронной почты. Я уже отправив письмо с результатом следующего запроса:SQL Разделить текст из столбца в нескольких строках в заявлении select

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 для целей электронной почты , Тем не менее, такое усилие слишком детализировано (по крайней мере для меня), чтобы вставить ответ на переполнение стека. –

+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. –

 Смежные вопросы

  • Нет связанных вопросов^_^