powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос строки в конструкции FOR XML PATH
21 сообщений из 21, страница 1 из 1
Перенос строки в конструкции FOR XML PATH
    #38558510
Degun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некоторый код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
	DECLARE @LetterBody VARCHAR(MAX);
	SET @LetterBody = (SELECT
		 convert(varchar,ClientCode) + ';' +
		 convert(varchar,ClientName) + ';' +
		 convert(varchar,BrokerComis) + ';' +
		 CHAR(13)
		FROM @BrokerComisTable
		FOR XML PATH(''));
	PRINT @LetterBody


Но он выводит строки не по отдельности, а как одну строку:
Код: plaintext
1.
E400001;Иванов Ю.В.;873.54;E400002;Сидоров Г.Ф.;3.96;
Т. е. он символ возврата коретки выводит как последовательность знаков . Как это исправить?
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558514
Degun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь редактор из разделил на две строки. Т. е. выводятся следующим образом:
Код: xml
1.
E400001;Иванов Ю.В.;873.54;
E400002;Сидоров Г.Ф.;3.96;
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558518
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так правильно
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558527
Degun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос в том, как записать конструкцию запроса, чтобы возврат коретки не трансформировался в последовательность символов
Код: xml
1.
&#x0D
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558530
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DegunТ. е. он символ возврата коретки выводит как последовательность знаков
. Как это исправить?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
BOL - Serialization of XML Data
Entitization of XML Characters During Serialization

Following are the entitization rules that apply during serialization:

...


To prevent a carriage return (CR, U+000D) from being normalized during parsing, it is entitized to its numeric character reference, 
 inside both attribute values and element content.
....
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558536
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы же xml юзаете.
заменяйте после получения replace-ом в итоговой строке
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558539
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DegunВопрос в том, как записать конструкцию запроса, чтобы возврат коретки не трансформировался в последовательность символов
Не делать xml
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558562
Degun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One
Спасибо. Заменил в строке на CHAR(13).
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558573
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DegunВопрос в том, как записать конструкцию запроса, чтобы возврат коретки не трансформировался в последовательность символов
Код: xml
1.
&#x0D

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @s varchar(max);

select
 @s = (
  select
   '1' + char(13) + '2'
  for xml path(''), type).value('.', 'varchar(max)');

print @s;
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #38558600
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевод строки - это чаще всего два символа: CHAR(0x0D)+CHAR(0x0A)
Carriage Return & Line Feed - CR & LF
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Перенос строки в конструкции FOR XML PATH
    #39727760
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добрый день!
Подскажите, пожалуйста, а как в представлении с группировкой с xml получить перенос строки. У меня - результат строка без переноса, а предложенные варианты выдают ошибки неправильного синтаксиса
представление выборки из таблицы test с полями :

txt1 txt2
1 1
1 2



SELECT txt1,
(SELECT txt2 + char(13) + char(10) + ', ' AS 'data()'
FROM dbo.test t2
WHERE txt1 = txt1
FOR xml path(''), type) AS Gruppa
FROM dbo.test t1
GROUP BY txt1


Выдает результат :

1 1 , 2 ,



а мне нужно

1 1 ,
2 ,
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727762
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727763
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполнить запрос в студии (New Query) и установить Result to text.

Не все редакторы обязаны вам рисовать переносы строки в результатах выполнения.
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727764
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Клиент коды переноса показывает, переноса строк не получается.
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727774
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощенья, я не профессионал, запрос в студии (New Query) тоже не получается, в чем ошибка?
Может быть есть способ группировки по одному полю таблицы со сложением значений другого поля через запятую без использования xml path(''), ... ?
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727776
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727779
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, почему этот код не работает, в чем ошибка?
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727780
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПодскажите, пожалуйста, почему этот код не работает, в чем ошибка?Ошибка в синтаксисе, который вы нафантазировали.
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727782
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
select
 a.txt1, b.x.value('.', 'varchar(max)')
from
 (select distinct txt1 from dbo.test) a cross apply
 (select txt2 + ',' + char(10) + char(13) from dbo.test where txt1 = a.txt1 for xml path(''), type) b(x);
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727783
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь, не ту картинку отправил:
...
Рейтинг: 0 / 0
Перенос строки в конструкции FOR XML PATH
    #39727786
AlexUssr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Клиент на этот код магическим образом корректно отреагировал.
Спасибо большое !!!
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос строки в конструкции FOR XML PATH
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]