SQL XML示例

declare @xmlDoc xml,@id varchar(50);

set @xmlDoc='<DocObjContent>
<NewCtrl Id="0001">
<Content_Text>C# Program</Content_Text>
<Content_Text>Java Program</Content_Text>
</NewCtrl>
<NewCtrl Id="0002">
<Content_Text>Java Program</Content_Text>
</NewCtrl>
<NewCtrl Id="Reference_111102102101" Type="3">
		<Content_Text>1.XXXXX 2.XXXXX</Content_Text>
</NewCtrl>
</DocObjContent>'

select @xmlDoc.query('(/DocObjContent/NewCtrl[@Id="Reference_111102102101"])').value('(/NewCtrl/Content_Text)[1]', 'nvarchar(max)')

select @xmlDoc.value('(/DocObjContent/NewCtrl[@Id="Reference_111102102101"]/Content_Text)[1]','nvarchar(max)')
@xmlDoc.value('(/DocObjContent/NewCtrl[@Id=sql:variable("@id")]/Content_Text)[1]','nvarchar(max)')
--动态传值
set @id='Reference_111102102101'
select @xmlDoc.value('(/DocObjContent/NewCtrl[@Id=sql:variable("@id")]/Content_Text)[1]','nvarchar(max)')

 

  

posted @ 2017-07-18 16:16  名扬博客  阅读(275)  评论(0编辑  收藏  举报