powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Определить, есть ли атрибут в XML таблице.
4 сообщений из 4, страница 1 из 1
Определить, есть ли атрибут в XML таблице.
    #39746233
greenbook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как можно сделать выборку, чтобы у меня были данные, которые содержат определенный атрибут XML.
Есть таблица, которая содержит 4 данные: id, дату создания, дату модификации и data, которая содержит XML.
Вот так выглядят xml:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<test_learning>
	<code>699384</code>
	<state_id>4</state_id>
	<score>7</score>
	<time>75051</time>
	<max_score>42</max_score>
	<question_num>35</question_num>
	<question_answered_num>35</question_answered_num>
	<question_passed_num>7</question_passed_num>
	<qti_text>...........................</qti_text>
	<qti_date>2018-05-23T16:21:34+00:00</qti_date>
</test_learning>

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

<test_learning>
	<code>149446</code>
	<state_id>4</state_id>
	<score>0</score>
	<time>1508</time>
	<max_score>9</max_score>
	<question_num>9</question_num>
	<question_answered_num>0</question_answered_num>
	<question_passed_num>0</question_passed_num>
</test_learning>



В одних есть два доп. атрибу qti_text и qti_date, а в других нет. Мне нужно сделать выборку, которая будет содержать эти два доп. тега.
Пробую вот так:
Код: sql
1.
2.
3.
SELECT tl.id
FROM test_learning tl
WHERE tl.data.query('/test_learning/qti_date') is not null



Но не получается. Это не единственный вариант, который я пробовал.
...
Рейтинг: 0 / 0
Определить, есть ли атрибут в XML таблице.
    #39746236
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greenbook,

так например
Код: sql
1.
2.
3.
SELECT tl.id
FROM test_learning tl
WHERE tl.data.query('/test_learning/qti_date').value('text()[1]', 'datetime') is not null 
...
Рейтинг: 0 / 0
Определить, есть ли атрибут в XML таблице.
    #39746239
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так наверное правильнее

Код: sql
1.
2.
3.
SELECT tl.id
FROM test_learning tl
WHERE tl.data.exist('/test_learning/qti_date')=1
...
Рейтинг: 0 / 0
Определить, есть ли атрибут в XML таблице.
    #39746240
greenbook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court, спасибо, ты лучший.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Определить, есть ли атрибут в XML таблице.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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