使用SQL字符串反转函数REVERSE巧妙实现lastindexof功能

要实现一个简单的业务:

      使用SQL脚本获取字符串'large/020700/61970b0101.jpg' 中的'61970b0101.jpg'部分。

先想到的是C#中的lastindexof,但是SQL中没有这个函数,只有charindex函数,只好使用现有资源想办法曲线解决了。

解决思路:

1、使用REVERSE函数将字符串反转

2、使用charindex找到第一个出现'/'的位置

3、使用left函数找到'/'之前的字符串

4、再次使用REVERSE函数将处理过的字符串反转

具体示例:

DECLARE @Str VARCHAR(50)

SET @Str = 'large/020700/61970b0101.jpg'

SET @Str = REVERSE(@Str)

SET @Str = LEFT(@Str,CHARINDEX('/',@str,0)-1)

SET @Str = REVERSE(@Str)

SELECT @Str

大功告成!

posted on 2015-05-04 23:46  荣锋亮  阅读(2821)  评论(0编辑  收藏  举报

导航