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

SQL Server中XML列columnsupdated拆分为多行的实现

拆分SQL Server XML列中的Field节点为单独行

要将XML列columnsupdated内每个Field节点的Name值转换为单独数据行,可使用SQL Server的XML节点拆分方法,具体实现如下:

核心SQL语句

假设你的数据表名为YourTable,且包含唯一标识列(如ID)用于关联原记录,执行以下SQL:

SELECT 
    t.ID, -- 替换为你的表的主键或唯一标识列
    f.Field.value('@Name', 'NVARCHAR(100)') AS UpdatedFieldName
FROM 
    YourTable t
CROSS APPLY 
    t.columnsupdated.nodes('/Fields/Field') f(Field)

语句说明

  • nodes('/Fields/Field'):定位XML列中所有/Fields/Field节点,将每个节点拆分为独立行
  • value('@Name', 'NVARCHAR(100)'):提取每个Field节点的Name属性值,NVARCHAR(100)可根据实际字段长度调整类型长度
  • CROSS APPLY:关联原表行与拆分后的XML节点行;若需保留XML列为空的原表行,可替换为OUTER APPLY

示例结果

基于你提供的XML示例数据,拆分后会得到如下格式的结果:

IDUpdatedFieldName
1MiddleName
1StatusEffectiveDate
1CommitteeActionID
2Citizen
2StatusTypeID
2StatusEffectiveDate

内容的提问来源于stack exchange,提问作者Michelle Ramos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:42:32