6
我想使用Xquery從XML獲取屬性值。如何使用Sql獲取XML屬性的值:xquery中的變量
我的XML是
<Answers>
<AnswerSet>
<Answer questionId="NodeID">155</Answer>
<Answer questionId="ParentNode" selectedValue="12">Product</Answer>
</AnswerSet>
</Answers>
下面是我的查詢。
DECLARE @Field Varchar(100)
DECLARE @Attribute VARCHAR(100)
SET @Field='ParentNode'
SET @Attribute = 'selectedValue'
SELECT ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")])[1]','varchar(max)'),'') ,
ISNULL(PropertyXML.value( '(/答案/ AnswerSet /回答[@ questionId = SQL:可變( 「@域」)]/SQL:可變(@Attribute))[1]',」 VARCHAR(最大) '),'') 從節點 WHERE ID = 155
以下線路工作正常用sql:可變
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")])[1]','varchar(max)'),'')
但我在下面行收到錯誤..
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")]/sql:variable(@Attribute))[1]','varchar(max)'),'')
我想在結果中獲得提供的屬性(@Attribute)值。
的SQL Server的什麼版本?如果您使用.value,必須是2005+ – 2012-07-27 04:25:08
是2005年和2008年 – Mohmedsadiq 2012-07-27 04:29:33