2

次のように定義されたテーブルからデータを選択しようとしています:

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

しかし、特定の DataType 値を持ち、LoggedData 列に文字列を含む (または XPath の一部を評価する) 行のみを選択したいと考えています。

Google で簡単に検索しても何も役に立ちませんでした。答えを得るために少し急いでいます...検索を続けますが、その間に誰かが私を助けてくれるなら、本当に感謝します。

編集_明確化

だから、私が求めているのはこのようなものですが、正しい形式では...

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

まだはっきりしないかも…

4

2 に答える 2

1

検索用語(SQL 変数など)でフィルタリングする場合は、おそらく次のようなものを使用する必要があります。

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

@searchterm は SQL 変数です。

于 2008-10-14T03:40:28.443 に答える
0

これはあなたのためにトリックをしていませんか?

SELECT
  Id, 
  LoggedData 
FROM
  myTable 
WHERE
  DataType = 29 
  AND LoggedData.exist('RootNode/ns1:ChildNode[@value="searchterm"]') = 1
于 2008-10-13T09:34:17.543 に答える