使用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
大功告成!