SqlServer从左边 最后 中间截取字符串(摘录)2009-06-01 15:04
已知: 字段A='F:\photo\Winter Leaves.jpg'
要求:分段截取每段字符[字段A不能为TEXT类型,否则报错]
解决方法:
---截取字符串A的第一个\左边的字符串
select left(A,charindex('/',A)-1) MEMO:charindex('\',A)-1 -在字符串中获得'\'的位置号
输出结果:F: -减1即去掉'\'
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---截取\中间的字符串
select left(stuff(A,1,charindex('/',A),''),charindex('/',stuff(A,1,charindex('/',A),''))-1)
输出结果:photo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
注:stuff(A,1,charindex('/',A),'') -只是将'\'前的串用''代替,后面全样输出
注: 结果应为:photo\Winter Leaves.jpg 因为前面被''代替
---截取最后一个\后面的字符串 select reverse(left(reverse(A),charindex('/',reverse(A))-1)) 注:此处用两个reverse是将反的再正过来 输出结果:Winter Leaves.jpg