我有一个名为“标签”的 XML 数据类型列。
在那里,我正在存储一个集合,如下所示:
<ArrayOfString>
<string>personal</string>
<string>travel</string>
<string>gadgets</string>
<string>parenting</string>
</ArrayOfString>
我想选择具有我正在寻找的值之一的所有行:例如,我想选择表中具有标签“travel”的所有行。
如果我知道我正在寻找的值的索引,我知道这是可行的:
select * from posts
where tags.value('(/ArrayOfString/string)[1]', 'nvarchar(1000)') = 'travel'
但此查询仅在标签“travel”是节点中的第二项时才有效。如何检查一个值是否存在,而不管它的位置如何?