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' –