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

如何在SQL Server中用T-SQL将XML节点值转为小写

在SQL Server中用T-SQL将XML列的SubRoot值转为小写

你有一张名为RootTable的表,其中Data列是XML类型,原数据如下:

IdData
1<Root><Id>1</Id><SubRoot>Production</SubRoot></Root>
2<Root><Id>1</Id><SubRoot>Test</SubRoot></Root>

需要将所有SubRoot节点的文本值转为小写,目标数据如下:

IdData
1<Root><Id>1</Id><SubRoot>production</SubRoot></Root>
2<Root><Id>1</Id><SubRoot>test</SubRoot></Root>

解决方案

使用SQL Server XML数据类型的.modify()方法,结合LOWER()函数即可实现批量更新,具体T-SQL语句如下:

UPDATE RootTable
SET Data.modify('replace value of (/Root/SubRoot/text())[1]
                with lower((/Root/SubRoot/text())[1])')

语句说明

  • .modify()是XML类型专属的修改方法,replace value of用于指定要修改的节点值
  • (/Root/SubRoot/text())[1]精准定位到SubRoot节点的文本内容,[1]确保只选中第一个匹配节点(避免多节点匹配的异常)
  • LOWER()函数将原节点的文本值转换为小写

验证更新结果

执行以下查询确认修改是否生效:

SELECT Id, Data
FROM RootTable

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 00:57:40