在字符串中搜索右键并停止在特定字符处

时间:2016-10-26 14:33:42

标签: sql sql-server string

让我说我有字符串

G:\Test\Man\Wife\photo.jpg
C:\Folder\simple\why.jpg
blablabla\\skjflka\yes\no\yeeha

我需要从右到左阅读字符串并在第一个\

处停止

结果应该是

photo.jpg
why.jpg
yeeha

我该怎么做?

2 个答案:

答案 0 :(得分:5)

字符的最后一个位置是它在反向字符串中的第一个位置,所以:

select 
right(path, charindex('\', reverse('\' + path)) - 1) 
from t

(前置\以仅允许文件名)

答案 1 :(得分:1)

您可以使用REVERSECHARINDEX

DECLARE @A VARCHAR(100);
SET @A = 'C:\Folder\simple\why.jpg';

SELECT REVERSE(LEFT(REVERSE(@A)+'\',CHARINDEX('\',REVERSE(@A)+'\')-1)) Result;