簡體   English   中英

如何在SQL Server 2008數據庫上查詢SQL XML中的xml

[英]How to query the xml in SQL XML on a SQL Server 2008 database

我有一個SQL Server 2008數據庫。 有一個名為Documents的表,其中包含以下模式:

 Id            int     PK      
 DocumentXml   xml

xml文檔看起來像:

<docroot>
    <name>Some Name</name>
</docroot>

我想選擇/docroot/name的文本值以“S”開頭的所有記錄(不區分大小寫)。

如何以最佳性能執行此查詢?

我想選擇/docroot/name的文本值以“S”開頭的所有記錄(不區分大小寫)。

使用此XPath表達式

/*/name[starts-with(translate(.,'S','s'), 's')]

不確定性能 - 但你可以做這樣的事情:

SELECT (list of columns)
FROM dbo.Documents
WHERE DocumentXml.value('(/docroot/name)[1]', 'varchar(100)') LIKE 'S%'

如果數據庫排序規則不區分大小寫,則此LIKE操作也不區分大小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM