sqlserver 修改xml字段的节点值
·
参考:https://blog.csdn.net/hliq5399/article/details/8315373
xml字段的格式:
<OuterCheckRet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<JXZK>1</JXZK>
<PQWRKZZZ>1</PQWRKZZZ>
<RYXTDKB>1</RYXTDKB>
<SJYHZMHY>0</SJYHZMHY>
<QZXTFXT>1</QZXTFXT>
<RYZFKZXT>1</RYZFKZXT>
<YBGZ>1</YBGZ>
<JXGZ>0</JXGZ>
<JPQXTXL>0</JPQXTXL>
<YTSL>0</YTSL>
<OBDXT>0</OBDXT>
<LTQY>1</LTQY>
<LTGZQJ>1</LTGZQJ>
<GBFSSB>1</GBFSSB>
<ZDYXGN>1</ZDYXGN>
<YXYP>0</YXYP>
<GKFJC>0</GKFJC>
</OuterCheckRet>
我要修改GKFJC节点的值,如下:
declare @xmlDoc xml;
select @xmlDoc= OuterCheckRet from Det_OuterData outd,Det_Summary summ
where outd.DetLsh=summ.DetLsh and summ.JCFFID='S'--双怠速
set @xmlDoc.modify('replace value of (/OuterCheckRet/GKFJC/text())[1] with "0"')--否
update Det_OuterData set OuterCheckRet=Convert(nvarchar(max),@xmldoc)
where DetLsh in (select outd.DetLsh from Det_OuterData outd,Det_Summary summ
where outd.DetLsh=summ.DetLsh and summ.JCFFID='S')
这样就修改了GKFJC节点的值了
==================================================
查询GKFJC节点的值,如下:
select (select OuterCheckRet from Det_OuterData where DetLsh='232701092009071010470008').value('(OuterCheckRet/GKFJC)[1]','varchar(10)') as ti
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)