我在SQL Server的一列中有以下xml片段
<ul>
<li><a id="cat" href="cat.html">Cat</a></li>
<li><a id="dog" href="dog.html">Dog</a></li>
我想删除<li>
标记<a>
标记id="cat"
DECLARE @id varchar(40) = 'cat'
UPDATE dbo.Pref
SET xmlPref.modify('delete /ul/li/a[@id=sql:variable("@id")]')
WHERE pref = 1
离开<li>
时不能正常工作。
答案 0 :(得分:2)
删除表达式路径中的“a”元素并将其添加到条件
DECLARE @id varchar(40) = 'cat'
UPDATE dbo.Pref
SET xmlPref.modify('delete //ul/li[a/@id=sql:variable("@id")]')
WHERE pref = 1
请参阅SQLFiddle
上的演示答案 1 :(得分:-1)
如何在SQL Server中使用替换内置函数
更新dbo.Pref SET COLUMNNAME = REPLACE('表达要搜索','要搜索的字符串','替换字符串') 在哪里.......