SQL Server 2008 の XML 列のすべての行を更新して、特定の xml ノードの部分文字列だけを置き換えたいと考えています。私は XML DML や XQuery などに不慣れで、その方法がわかりません。
更新したい列の XML の例:
<d>
<p n="Richedit01" t="System.String">
<v>
<p> <img border="0" alt="Football4" src="/$-1/football4.jpg" /> </p>
</v>
</p>
</d>
すべての行で、部分文字列 '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/'')]) ')