web-dev-qa-db-ja.com

属性が関係する場合はXML値を選択

フィールドにXML値を格納するテーブルがあります:OtherData。

1つの行のXML値:

< file path="C:\WINDOWS\system32\svchost.exe" />

'%svchost%'のような属性パスを持つすべての行を選択したい

これを行うのに適切なSQLクエリは何ですか?

5
yrushka

私はXQUERYアプローチを使用しましたが、あなたとは異なります(@Allen White):

Select * From Table where OtherData.value('(/file/@path)[1]', 'varchar (1000)') LIKE '%svchost.exe%' 
4
yrushka

次のように、XQuery CONTAINSメソッドを使用します。

SELECT CASE @x.exist
(
N'/bikes/Product[1]/Specifications[contains(., "Novice")]'
)
WHEN 1 THEN N'The bike is good for novices'
WHEN 0 THEN N'The bike is for more advanced riders'
END;

幸運を。

4
user1209