2011-01-10 152 views
4

我有以下SQL查询:SQL XML - 返回结果集

declare @x xml 
set @x = '<IDs><ID>1</ID><ID>2</ID></IDs>' 

SELECT @x.query('/IDs/ID') as ID 

这将返回以下结果:

ID 
-------------------- 
<ID>1</ID><ID>2</ID> 

我怎么能代替得到这个回报:

ID 
-- 
1 
2 

回答

6

请改用此代码:

declare @x xml 
set @x = '<IDs><ID>1</ID><ID>2</ID></IDs>' 

SELECT ID.value('.', 'int') AS ID 
FROM @x.nodes('/IDs/ID') as IDS(ID) 
+0

+2如果我可以的话。我仍然无法让我的头在SQLServer中缠绕XML。 –

+0

非常好,工作完美! – Curt