【发布时间】:2020-07-29 16:39:56
【问题描述】:
我在 SQL Server 数据库中有一个 XML 列,我需要能够从中提取数据,并在 SQL 查询中分散到多个列中。该表本身包含数百万行数据。
XML 数据存储为:
<dreg>
<dtype>Test</dtype>
<dOS>Test</dOS>
<dmake>Test</dmake>
</dreg>
当我尝试运行下面的 SQL 查询时,XML 数据在视图中作为一列返回:
select
Id,
dID,
Meta /*<- XML data*/
from
data_table
但是,如果我运行以下 SQL 查询:
select
ID,
dID,
cast(Meta as XML).value('(/dreg)[1]', 'nvarchar(100)') as data
from
data_table
查看器中 XML 的结果列“数据”是:
TestTestTest
如何正确解析 XML,使 XML 中的 3 个值在 SQL 查看器的不同列中?
【问题讨论】:
标签: sql-server xml