2011-05-31 98 views
1
declare @xmlVal xml 
set @xmlVal = 
'<user> 
    <token><id>ABC123</id><endDate>2013-06-16 18:48:50.111</endDate></token> 
    <token><id>XYX456</id><endDate>2014-01-01 18:48:50.111</endDate></token> 
</user>' 

我需要整個令牌節點作爲XML其中id = ABC123所以出放爲:獲取在SQL Server基於一個內部節點的值父XML節點

<token> 
    <id>ABC123</id> 
    <endDate>2013-06-16 18:48:50.111</endDate> 
</token> 

回答

1
SELECT 
a.b.value('id[1]','nvarchar(max)') id, 
a.b.value('endDate[1]','datetime') endDate 
FROM @xmlval.nodes('//user/token[id="ABC123"]') a(b) 
FOR XML PATH('token') 
1
select @xmlVal.query('/user/token[id="ABC123"]')