Как использовать sql для пути xml (''), но сохранить возврат каретки

У меня есть следующий фрагмент кода

select
    (
    select cast(Narrative as Varchar(max)) + char(13) 
    from officeclientledger 
    where ptmatter=$matter$ and ptTrans=4 
    for xml path (''), type
    )

которые выдают такие результаты, как:

Cwm Taff NHS Trust Medical Records Dr Purby Medical Records (исключая пробелы, необходимые для вставки с целью задать вопрос)

однако есть ли способ доставки результатов, таких как

Cwm Taff NHS Trust Medical Records

Медицинские отчеты доктора Пурби

Ответ 1

Это невозможно сделать, используя результаты для функций сетки в SSMS. Однако, если вы используете результаты для текста и замените CHAR (13) на CHAR (10), вы получите желаемые результаты.

Ответ 2

Я сталкиваюсь с той же проблемой, и я не могу использовать Char (10), потому что принимающая система ожидает Char (13). Поэтому я использовал ниже запрос, чтобы заменить значение в моем результате, и он сработал.

SELECT Coloumn = REPLACE(@v_Get_UPC_List, '
', CHAR(13)) 

Ответ 3

Когда я должен использовать SSMS и хочу видеть значения, подобные запросам, для тестирования я использую команду печати. ​​

IF OBJECT_ID ('tempdb..#doc') IS NOT NULL DROP TABLE #doc;
declare @doc varchar(max);

create table #doc (DOC varchar(max));
    insert into #doc EXECUTE db.[spDocumentJob] 1

SELECT @doc = STUFF(
    (SELECT  ' ' +  DOC + ' ' + CHAR(13) + CHAR(10) 
        FROM #doc As T2
        ORDER BY DOC
        FOR XML PATH (''), TYPE).value('.','varchar(max)'),1,1,'')
print @doc

введите описание изображения здесь