sql - 你如何读取 SQL Server 2008 中的 XML 列?

标签 sql xml sql-server-2008

我从来没有在 SQL Server 2008 中使用过 XML,我需要将客户列表提取到一个变量表中,你是怎么做到的?

鉴于我在 Sales 表中有一个名为 CustomerList 的列,如下所示,我如何在 sql 中提取客户列表?

<ArrayOfCustomers xmlns:xsd="http://www.w3.org/2001/XMLSchema"        
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <Customer>
       <ItemId>1</ItemId>
       <Value>Mr Smith</Value>
   </Customer>
   <Customer>
      <ItemId>2</ItemId>
      <Value>Mr Bloggs</Value>
   </Customer>
</ArrayOfCustomers>

最佳答案

尝试这样的事情:

SELECT
   Cust.value('(ItemId)[1]', 'int') AS 'ItemID',
   Cust.value('(Value)[1]', 'Varchar(50)') AS 'Customer Name'
FROM
   dbo.Sales.CustomerList.nodes('/ArrayOfCustomers/Customer') AS AOC(Cust)

那应该给你这样的输出:

ItemID  Customer Name
   1         Mr Smith
   2         Mr Bloggs

关于sql - 你如何读取 SQL Server 2008 中的 XML 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4815836/

相关文章:

sql - 在 PostgreSQL 的数组列中查找字符串

java - 在 .war 之外引用 configuration.properties

sql - 在SQL Server中并行执行3条SQL语句

php - SQL Server 和 WAMP Server 冲突吗?我需要使用不同的端口吗?

.Net 加载文件或程序集错误

sql - 删除重复的左外连接

php - 如何处理通过 POST 发送的 XML?

xml - XPATH:查找所有具有相同值的元素,直到值发生变化

SQL:在查询中组合主数据和子数据

php - 使用 PHP 的 LAST_INSERT_ID() 插入到多个表中