小编Kbe*_*erg的帖子

更新XML列SQL Server 2008中的子字符串

我想对SQL Server 2008中的XML列中的所有行执行更新,仅替换某个xml节点中的子字符串.我是XML DML/XQuery的新手,所有这一切,我只是无法弄清楚如何做到这一点.

我要更新的列中的XML示例:

<d>
  <p n="Richedit01" t="System.String">
    <v>
      &lt;p&gt; &lt;img border="0" alt="Football4" src="/$-1/football4.jpg" /&gt; &lt;/p&gt;
    </v>
  </p>
</d>  
Run Code Online (Sandbox Code Playgroud)

我想在所有行中替换子串'src ="/ $ - 1 /'与'src ="/ $ - 1/file /'的所有出现.

试过这个,但显然我没办法像这样使用XPath替换函数:

UPDATE Translation
SET ContentData.modify('replace value of (d/p[@t=''System.String'']/v)[1] with (d/p[@t=''System.String'']/v[replace(.,''src="/$-1/'',''src="/$-1/file/'')]) ') 
Run Code Online (Sandbox Code Playgroud)

sql-server xquery sql-server-2008 xquery-sql

8
推荐指数
1
解决办法
5376
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1

xquery ×1

xquery-sql ×1