要实现一个简单的业务:
使用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
大功告成!
本文介绍了一种利用SQL中的REVERSE和CHARINDEX函数解决复杂字符串提取问题的方法,通过反转字符串、定位特殊字符位置、提取所需子串,最后反转回原顺序,成功实现了目标字符串的获取。
278

被折叠的 条评论
为什么被折叠?



