本文介紹了如何在XQuery中執行不區分大小寫的屬性選擇器的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試查詢SQL Server中的XML列,并且希望選擇屬性值與不區分大小寫的字符串匹配的記錄。
例如,考慮以下XML列的值:
<items>
<item k="Description" v="hello" />
</items>
現在,我的選擇如下所示:
SELECT
MyXmlColumn.value('(/items/item[@k="Description"]/@v)[1]', 'nvarchar(max)') as v
FROM Table
問題是”k”屬性的值可以是”Description”、”Description”或”Description”。
如何編寫XQuery以執行不區分大小寫的匹配?
推薦答案
您可以使用lower-case functionfn:lower-case
(這將使您要搜索的屬性小寫),然后確保在查詢中使用小寫:
SELECT
MyXmlColumn.value('(/items/item[fn:lower-case(@k)="description"]/@v)[1]', 'nvarchar(max)') as v
FROM [Table]
這篇關于如何在XQuery中執行不區分大小寫的屬性選擇器的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,