id hierid
---------------------
2 | /2/
7 | /2/7/
8 | /2/8/
11 | /2/7/11/
13 | /2/8/13/
17 | /2/8/17/
37 | /2/8/37/
我想将其根更改为/ 3 /,这意味着我想要的输出是
id hierid
---------------------
2 | /3/
7 | /3/7/
8 | /3/8/
11 | /3/7/11/
13 | /3/8/13/
17 | /3/8/17/
37 | /3/8/37/
像这样我怎样才能使用hierarchyid
答案 0 :(得分:3)
UPDATE mytable
SET hierid = hierid.GetReparentedValue('/2/', '/3/')
WHERE hierid.IsDescendantOf('/2/') = 1
答案 1 :(得分:2)
这个怎么样:
UPDATE tbl SET hierid = REPLACE(hierid, '/2/', '/3/');