0
我存储在XML列,看起来像这样的用户偏好:SQL Server 2008的XML属性搜索区分大小写
<tags>
<user>
<tag name="AB"/>
</user>
</tags/>
当我使用下面的查询,
select *
from company
where CAST(tags.query('tags/user/tag[fn:contains(@name,"Ab")]') as varchar(2000)) <> ''
它没有返回任何结果,属性值是不同的情况下,然后在xml列中的一个。
有关使属性名称不区分大小写的任何想法?
感谢
非常感谢@jdavies。它正在工作,但查询需要很长时间才能执行。有没有更好的方式去做我正在尝试的? – FullMetal5000
就我而言,您的查询没有任何问题(但我绝不是专家)。你公司的桌子很大吗?对于其他查询或表中的简单选择是否需要很长时间?也许你可以看看索引标签列:[索引XML数据类型列](http://msdn.microsoft.com/en-us/library/ms191497.aspx)。 – jdavies
@ FullMetal5000 - 尝试使用存在,而不是转换和查询。 'tags.exist('tags/user/tag [fn:contains(lower-case(@name),“ab”)]')= 1' –