powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удаление абзацов в поле типа XML при выводе данных
21 сообщений из 21, страница 1 из 1
Удаление абзацов в поле типа XML при выводе данных
    #39619608
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли какая-то аналогия replace() для вывода данных в фoрмате XML?
У меня часть данных в поле хранятся в таком виде:



Но при выводе мне нужно, чтобы данные из тега были в одну строку:

...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619614
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mssql тут при чем ?
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619623
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxx,

у меня данные хранятся в поле таблицы MSSQL
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619628
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а выводите строки вы куда,простите ?
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619635
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxx,

через sqlcmd в *.csv
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619641
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..... xml -> csv ?
что в итоге то ? прямо с тегами в файл или как ?
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619642
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вам переводы строк что-ли надо убрать?

вот их и заменяйте на пустую строку:
char(13)
char(10)
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619648
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneвам переводы строк что-ли надо убрать?

вот их и заменяйте на пустую строку:
char(13)
char(10)
да ето понятно :) не понятно что в итоге получаеться\ ... цсв с тегами или как ?
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619651
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxx,

да кто ж его поймёт, пусть сам ТС расскажет
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619660
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Да - все верно: csv с тегами
вывожу
Код: sql
1.
2.
3.
declare @cmd varchar(1200)
SET @cmd='sqlcmd -S ServeName -d DataBaseName -E -Q "set nocount on;select ID, XML_TABLE, CONVERT(varchar(11), getdate(),105) " -o c:\Report.csv -u -y 0  -s "'+CHAR(9)+'"' SET NOCOUNT ON
EXEC master..xp_cmdshell @cmd
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619671
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это поле XML_TABLE какого типа в базе?
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619677
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть 2 варианта
1. все привести к арчар макс и реплесить
2. иметь секас с nodes + modify
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619678
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

поле формата xml без пустых значений
если развернуть таблицу в SSMS там XML_TABLE (XML(.),NOT NULL)
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619679
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+
я за 1-й вариант
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619689
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxx1. все привести к варчар макс и реплесить

теперь возник вопрос "как реплесить непечатный символ?"
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619695
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
replace( replace( convert(varchar(max), XML_TABLE),  char(13), ''), char(10), '')
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619700
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
напрямую все равно не лезет :))

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @x xml
set @x='
<root>
  <step>This is step 1</step>
  <step>This is step 2</step>
  <step>This is step 3</step>
</root>'


select replace(cast(@x.query('
 for $i in /root[1]/step
    return string($i)
 ') as varchar(300)), 'This', 'NO')


хотя может кто знает ..как без конверта к строке ето сделать (ессно на t-sql) :)
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39619762
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxx
Код: sql
1.
2.
3.
4.
5.
'<root>
  <step1>This is step 1</step1>
  <step2>This is step 2</step2>
  <step3>This is step 3</step3>
</root>'




только вот у меня
Код: xml
1.
2.
3.
4.
5.
6.
7.
'<root>
  <step1>This is step 1 and row 1.
               This is step 1 and row 2.
               This is step 1 and row 3.</step1>
  <step2>This is step 2</step2>
  <step3>This is step 3</step3>
</root>'



и нужно получить

'<root>
<step1>This is step 1 and row 1.This is step 1 and row 2.This is step 1 and row 3.</step1>
<step2>This is step 2</step2>
<step3>This is step 3</step3>
</root>'



мне не теги нужно в одну строку
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39620392
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то что ты пытаешься сделать не относится к возможностям SQL-сервера.
Этим занимается прикладное ПО.
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39620646
Aleksey br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Все оказалось банально просто:
Код: sql
1.
2.
select convert (XML,REPLACE(REPLACE(convert (varchar(max),XML_COLUMN), CHAR(13), ''), CHAR(10), ''))
from TABLE 
...
Рейтинг: 0 / 0
Удаление абзацов в поле типа XML при выводе данных
    #39620668
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вам это уже давал ранее.
я только не понимаю, зачем это вам надо делать на сервере.
это не правильно.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удаление абзацов в поле типа XML при выводе данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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