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

SQL Server 2019提取XML节点纯文本值的方法咨询

从SQL Server XML字段提取指定节点文本的解决方案

假设你的表名为YourTable,存储XML数据的字段名为XmlColumn,可通过SQL Server的XQuery功能直接提取目标文本,操作如下:

  1. 声明XML命名空间
    目标节点使用了x:String前缀,需先通过WITH XMLNAMESPACES声明x对应的命名空间URI(需替换为你XML中实际绑定的地址,常见如http://schemas.microsoft.com/2003/10/Serialization/)。

  2. 用.value()方法提取纯文本
    通过XQuery路径定位到<PrebillMarkup.NewValues>和<PrebillMarkup.OriginalValues>下的x:String节点,直接提取其文本内容。

示例查询(针对row_uno=6599064)

WITH XMLNAMESPACES ('http://schemas.microsoft.com/2003/10/Serialization/' AS x)
SELECT 
    XmlColumn.value('(/PrebillMarkup.NewValues/x:String)[1]', 'NVARCHAR(MAX)') AS NewValueText,
    XmlColumn.value('(/PrebillMarkup.OriginalValues/x:String)[1]', 'NVARCHAR(MAX)') AS OriginalValueText
FROM YourTable
WHERE row_uno = 6599064;

多节点场景处理

若XML中存在多个x:String节点,可使用.nodes()方法遍历所有匹配节点:

WITH XMLNAMESPACES ('http://schemas.microsoft.com/2003/10/Serialization/' AS x)
SELECT 
    n.value('.', 'NVARCHAR(MAX)') AS NewValueText
FROM YourTable
CROSS APPLY XmlColumn.nodes('/PrebillMarkup.NewValues/x:String') AS t(n)
WHERE row_uno = 6599064;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:28:10