You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在SQL Server中如何解析Varchar列的<item>标签字符串为列?

解析SQL Server中Varchar列的类XML字符串为行数据

你可以通过给原字符串补充根节点转换为合法XML,再利用SQL Server的XML解析功能拆分提取数据,示例代码如下(假设你的表名为YourTable,存储该字符串的列名为XmlStringColumn):

SELECT 
    item.value('@id', 'INT') AS [Item ID],
    item.value('@value', 'INT') AS [value]
FROM 
    (
        -- 补充根节点,将Varchar字符串转换为XML类型
        SELECT CAST('<root>' + XmlStringColumn + '</root>' AS XML) AS XmlData
        FROM YourTable
    ) AS t
-- 拆分每个<item>节点为单独行
CROSS APPLY XmlData.nodes('/root/item') AS Items(item)

代码说明:

  1. 补充根节点:原字符串缺少顶级根元素,直接转换XML会失败,因此用<root>包裹原字符串,确保是合法的XML结构。
  2. 拆分节点:使用CROSS APPLY结合nodes()方法,将XML中的每个<item>节点拆分为独立的行。
  3. 提取属性:通过value()方法读取每个<item>节点的id和value属性,并转换为INT类型(可根据实际需求调整数据类型)。

内容的提问来源于stack exchange,提问作者RJ akhil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 22:45:30