「タグ」と呼ばれるXMLデータ型の列があります。
その中で、私は次のようにコレクションを保存しています:
<ArrayOfString>
<string>personal</string>
<string>travel</string>
<string>gadgets</string>
<string>parenting</string>
</ArrayOfString>
探している値の1つを持つすべての行を選択したい。たとえば、「travel」というタグが付いたテーブル内のすべての行を選択したい。
私が探している値のインデックスを知っていれば、これが機能することを知っています:
select * from posts
where tags.value('(/ArrayOfString/string)[1]', 'nvarchar(1000)') = 'travel'
ただし、このクエリは、タグ「travel」がノードの2番目のアイテムである場合にのみ機能します。位置に関係なく、値が存在するかどうかを確認するにはどうすればよいですか?