码迷,mamicode.com
首页 > Web开发 > 详细

获取URL最后一个 ‘/’ 之后的字符

时间:2015-12-22 22:43:41      阅读:515      评论:0      收藏:0      [点我收藏+]

标签:

开发项目中,遇到一个问题:‘abc/def/jkl‘,获取最后一个‘/’之后的所有字符‘jkl’,由于特殊字符‘/‘的个数不固定,如何使用TSQL语句快速实现该需求?

思路非常简单:因为最后一个特殊字符‘/‘的位置不确定,变通一下,使用reverse函数,将最后一个特殊字符‘/‘转化为第一个特殊字符,获取第一个特殊字符‘/‘之前的所有字符。

 

Script1,用于不以 ‘\’结尾,或以‘\’结尾取空字符的情况

declare @ExpressionToSearch varchar(max)

set @ExpressionToSearch=/eeabc/def/abc/jkl
--set @ExpressionToSearch=‘eeabc/def/abc/jkl‘

--select reverse(@ExpressionToSearch)

select right(@ExpressionToSearch,
                iif(charindex(/,reverse(@ExpressionToSearch),1)=0,
                    len(@ExpressionToSearch),
                    charindex(/,reverse(@ExpressionToSearch),1)-1)
            )


script2,如果以‘/‘结尾,取最后两个‘/‘字符之间的字符串,类似从字符串 ‘abc/def/jkl/‘ 中取‘jkl’

declare @ExpressionToSearch varchar(max)

set @ExpressionToSearch=/eeabc/def/abc/jkl/
--set @ExpressionToSearch=‘eeabc/def/abc/jkl‘

--select reverse(@ExpressionToSearch)

select left(StrToSearch,len(StrToSearch)-charindex(/,reverse(StrToSearch),1))
from 
(
select right(@ExpressionToSearch,
                iif(charindex(/,reverse(@ExpressionToSearch),2)=0,
                    len(@ExpressionToSearch),
                    charindex(/,reverse(@ExpressionToSearch),2)-1)
            )
)as T(StrToSearch)

 

获取URL最后一个 ‘/’ 之后的字符

标签:

原文地址:http://www.cnblogs.com/ljhdo/p/5068109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!