【问题标题】:How to retrieve data from XML column in sql server with no element name如何从没有元素名称的 sql server 中的 XML 列中检索数据
【发布时间】:2018-08-14 19:30:20
【问题描述】:

我在 SQL Server 表的列中有这样的 XML:

<Sales>
  <customer>
    <custID>6886903</custID>
    <placeID>143144</placeID>UNKNOWN</customer>

</Sales>

当它没有任何元素名称时,如何从上面检索 UNKNOWN?

【问题讨论】:

  • this link,您可以找到一些关于text() 节点以及它们的元素中可能浮动的示例。

标签: sql-server tsql


【解决方案1】:

其实UNKNOWN文本属于customer元素。

DECLARE @data XML
SELECT  @data = '<Sales>
  <customer>
    <custID>6886903</custID>
    <placeID>143144</placeID>UNKNOWN</customer>

</Sales>'

SELECT  p.value('(./custID)[1]' , 'int') AS custID,
        p.value('(./placeID)[1]', 'int') AS placeID,
        p.value('(./text())[1]' , 'varchar(max)') AS customerName
FROM    @data.nodes('/Sales/customer') t(p)

【讨论】:

  • 好答案,您可以阅读this link 了解text() 的一些详细信息
猜你喜欢
  • 1970-01-01
  • 2013-09-08
  • 2012-09-23
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多