【问题标题】:How to retrieve data from SQL Server from XML file如何从 XML 文件中检索 SQL Server 中的数据
【发布时间】:2015-03-06 04:47:10
【问题描述】:

XML 文件

<?xml version="1.0" encoding="utf-8"?>
<Data>
  <ProductID>
    <Producer value="SomeName" />
    <Locality value="California" />
    <Chamber value="ATK-01B" />
    <System value="CAL-ATK-01B-01" />
  </ProductID>     
</Data>

以上是保存在 SQL Server 表的content 列中的 XML 文件。我正在使用以下查询从 DB 中选择值为 CAL-ATK-01B-01 的记录。

查询:

SELECT * 
FROM [Table name] 
WHERE [xmlBody].value('(/Data/ProductID/System)[1]', 'varchar(max)') LIKE 'CAL-ATK-01B-01';  

我需要在 xml 文件中选择所有具有匹配值的记录作为"CAL-ATK-01B-01"。但是我尝试的查询返回的是空值。

谁能帮我做这件事?

谢谢

【问题讨论】:

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


    【解决方案1】:

    您需要在此处使用此查询来实际选择 XML 属性 value:

    的值
    SELECT * 
    FROM [Table Name]
    WHERE [xmlBody].value('(/Data/ProductID/System/@value)[1]', 'varchar(100)') LIKE 'CAL-ATK-01B-01';  
    

    【讨论】:

      猜你喜欢
      • 2014-01-05
      • 1970-01-01
      • 2023-01-20
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      相关资源
      最近更新 更多