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

2014-11-24 02:54:59 · 作者: · 浏览: 5

要实现一个简单的业务:

使用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

大功告成!

摘自 blackField的专栏