另一種選擇是用一個小的XML與aa交叉應用
示例
Declare @YourTable table (ID int,SomeCol varchar(max))
Insert Into @YourTable values
(1,'fug\klde\hzt\jkljlkjlkjl\hgftb\jghgf\ooorr\ter\fdgd')
,(2,'wegf\df\jght\kfd\dfgert')
,(3,'kfd\dfgert')
Select A.ID
,NewValue = reverse(Concat(Pos1,'\'+Pos2,'\'+Pos3))
From @YourTable A
Cross Apply (
Select Pos1 = n.value('/x[1]','varchar(max)')
,Pos2 = n.value('/x[2]','varchar(max)')
,Pos3 = n.value('/x[3]','varchar(max)')
From (Select Cast('<x>' + replace((Select replace(reverse(A.SomeCol),'\','§§Split§§') as [*] For XML Path('')),'§§Split§§','</x><x>')+'</x>' as xml) n) X
) B
返回
ID NewValue
1 ooorr\ter\fdgd
2 jght\kfd\dfgert
3 kfd\dfgert --<<Note: Doesn't have 3 but will produce the last two
請告訴我們你的企圖。 –