在SQL Server中使用多个子进行XML读取

时间:2015-05-06 21:55:12

标签: mysql sql sql-server sql-server-2008

<Data>abc</Data>
<Data>def</Data>

我想从上面标记中获取数据,其中子标记位于父标记下,那么如何将其读入sql server中的一列

列1

ABC,DEF

2 个答案:

答案 0 :(得分:0)

我假设数据包含在具有XML数据类型的列的表中。

让我们假设它在表格内

#Test(column1 XML)

可以将这些值检索为:

Select Column1.Value('(/Parent/Child)[1]','varchar(100)') as FieldName From #Test

1”表示要返回标量值。

了解更多信息: Pinal Dave Article

答案 1 :(得分:0)

DECLARE @x XML = '<parent>
    <Data>abc</Data>
    <Data>def</Data>
</parent>'

SELECT STUFF((
    SELECT ',' + d.value('.', 'nvarchar(20)')
    FROM @x.nodes('/parent/Data') AS p(d)
    FOR XML PATH('')
), 1, 1, '')