将 sql xml 数据类型转换为表

发布于 2024-12-12 06:33:59 字数 362 浏览 0 评论 0原文

给定 SQL...

declare @xmlDoc xml
set @xmlDoc = '<people>
  <person PersonID="8" LastName="asdf" />
  <person PersonID="26" LastName="rtert" />
  <person PersonID="33" LastName="dfgh" />
  <person PersonID="514" LastName="ukyy" />
</people>'

将该 xml 转换为包含 PersonID 和 LastName 两列的表的 SQL 是什么?

Given the SQL...

declare @xmlDoc xml
set @xmlDoc = '<people>
  <person PersonID="8" LastName="asdf" />
  <person PersonID="26" LastName="rtert" />
  <person PersonID="33" LastName="dfgh" />
  <person PersonID="514" LastName="ukyy" />
</people>'

What would be the sql to convert that xml into a table of two columns PersonID and LastName?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过度放纵 2024-12-19 06:33:59
SELECT T.c.query('.').value('(//@PersonID)[1]', 'int'),
    T.c.query('.').value('(//@LastName)[1]', 'varchar(50)')
FROM @xmlDoc.nodes('/people/person') T(c)
SELECT T.c.query('.').value('(//@PersonID)[1]', 'int'),
    T.c.query('.').value('(//@LastName)[1]', 'varchar(50)')
FROM @xmlDoc.nodes('/people/person') T(c)
优雅的叶子 2024-12-19 06:33:59
select T.X.value('@PersonID', 'int') as PersonID,
       T.X.value('@LastName', 'nvarchar(50)') as LastName
from @xmlDoc.nodes('/people/person') as T(X)
select T.X.value('@PersonID', 'int') as PersonID,
       T.X.value('@LastName', 'nvarchar(50)') as LastName
from @xmlDoc.nodes('/people/person') as T(X)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文