我想始终替换string-
中的最后一个节点root/node1/node2
如果我将node3作为参数传递,它应该像这样替换 -
root/node1/node3
任何人都可以帮我这么说,列名是血统,我有id。因此,查询将是 -
Update
tree
set
lineage= -- replace(lineage,node3) -- this is what i need ?
where
id=2
答案 0 :(得分:2)
您可以执行一些字符串操作来查找/
的最后一次出现,然后在该点之后删除所有内容...然后将新节点参数附加到该值
Update
tree
set
lineage = LEFT(Lineage, LEN(Lineage) - CHARINDEX('/', REVERSE(Lineage)) + 1) + @NewNode
where
id=2
答案 1 :(得分:0)
用户定义的功能。您可以选择T-SQL或.NET语言。我,我自己会选择.NET,因为它能够使用Regex更有效地磨练字符串的最后部分,但是你可以使用T-SQL拆分和重组字符串。这显示了分裂,例如: