Выберите определенные строки с типом столбца SQL Server XML - PullRequest
2 голосов
/ 13 октября 2008

Я пытаюсь выбрать данные из таблицы, определенной следующим образом:

Column     |    Data Type
-------------------------
Id         |    Int
DataType   |    Int
LoggedData |    XML

но я хочу выбрать только те строки с определенным значением DataType, которые содержат строку (или оценивает фрагмент XPath) в столбце LoggedData.

Быстрый поиск в Google оказался бесполезным, и я немного тороплюсь, чтобы получить ответ ... Я продолжу поиск, но если кто-нибудь может мне помочь в этом, я буду очень признателен.

РЕДАКТИРОВАТЬ _ Разъяснение

Итак, я ищу что-то вроде этого, но в правильном формате ...

select Id, LoggedData from myTable where DataType = 29 and LoggedData.query('RootNode/ns1:ChildNode[@value="searchterm"]');

Все еще может быть не ясно ...

Ответы [ 2 ]

1 голос
/ 14 октября 2008

Если вы хотите фильтровать по searchterm (как переменная SQL), вам, вероятно, потребуется использовать что-то вроде этого:

Select Id, LoggedData From myTable Where DataType = 29 And 
LoggedData.exist('RootNode/ns1:ChildNode[@value=sql:variable("@searchterm")]')=1

где @searchterm - ваша переменная SQL.

0 голосов
/ 13 октября 2008

Разве это не делает трюк для вас?

SELECT
  Id, 
  LoggedData 
FROM
  myTable 
WHERE
  DataType = 29 
  AND LoggedData.exist('RootNode/ns1:ChildNode[@value="searchterm"]') = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...