2016-10-26 90 views
0

可以說我有串搜索字符串並停止在特定的字符

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

我需要閱讀從右邊的字符串左,停在第一\

結果應該是

photo.jpg 
why.jpg 
yeeha 

我該怎麼做?

+1

您正在使用哪個數據庫服務器 –

+0

SQL SERVER 2014 – user2210516

回答

1

您可以使用REVERSECHARINDEX

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

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

一個字符的最後一個位置是它的反轉串左右的時間內第一個位置:

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

(前面加上\允許文件名)

+1

我喜歡這一個。它比我的更簡單 – Lamak

+0

獲取此錯誤消息402數據類型ntext和varchar在相等運算符 – user2210516

+1

@ user2210516 jeezus中不兼容,您正在使用'ntext'?,您不應該這樣做。無論如何,您需要首先將其轉換,用'CONVERT(nvarchar(MAX),路徑)替換'path'' – Lamak