Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Данные из поля xml / 5 сообщений из 5, страница 1 из 1
20.02.2019, 17:41
    #39776876
KonstMV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из поля xml
Поле xml содержит строку типа:
Код: xml
1.
2.
3.
4.
5.
<Rows>
	<Row Field="Какой-то Текст">
		<Value>"Какое-то значение"</Value>
	</Row>
</Rows>



Как получить значения поля Field?
Значения Value получаю так:
Код: sql
1.
2.
3.
SELECT
	ChangeValue.value('/Rows[1]', 'varchar(15)') as ChangeField
FROM tHistory
...
Рейтинг: 0 / 0
20.02.2019, 17:50
    #39776882
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из поля xml
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
declare @x table (ChangeValue xml);

insert into @x (ChangeValue) values('<Rows>
	<Row Field="Какой-то Текст">
		<Value>"Какое-то значение"</Value>
	</Row>
	<Row Field="Текст 2">
		<Value>"значение 2"</Value>
	</Row>
</Rows>')

SELECT
	ChangeValue.value('/Rows[1]/Row[1]/@Field', 'varchar(50)') as Row1Attr,
	ChangeValue.value('/Rows[1]/Row[1]/Value[1]', 'varchar(50)') as Row1Value,
	ChangeValue.value('/Rows[1]/Row[2]/@Field', 'varchar(50)') as Row2Attr,
	ChangeValue.value('/Rows[1]/Row[2]/Value[1]', 'varchar(50)') as Row2Value
FROM @x tHistory




но есть и другие варианты, дерзайте сами
...
Рейтинг: 0 / 0
20.02.2019, 17:53
    #39776884
KonstMV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из поля xml
Konst_One, спасибо! Практически, мгновенный ответ!!!
Вопрос закрыт!
...
Рейтинг: 0 / 0
20.02.2019, 17:55
    #39776885
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из поля xml
KonstMVКак получить значения поля Field?
Значения Value получаю так:
Код: sql
1.
2.
3.
SELECT
	ChangeValue.value('/Rows[1]', 'varchar(15)') as ChangeField
FROM tHistory

Значения Value вы получаете тожке как то некошерно
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
declare @x xml = N'
<Rows>
	<Row Field="Какой-то Текст">
		<Value>"Какое-то значение"</Value>
	</Row>
</Rows>
'

SELECT
	@x.value('(/Rows/Row/@Field)[1]', 'varchar(25)') as Field,
	@x.value('(/Rows/Row/Value/text())[1]', 'varchar(25)') as Value
...
Рейтинг: 0 / 0
20.02.2019, 18:29
    #39776904
KonstMV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из поля xml
alexeyvg, спасибо за корректировку!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Данные из поля xml / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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