可以說我有串搜索字符串並停止在特定的字符
G:\Test\Man\Wife\photo.jpg
C:\Folder\simple\why.jpg
blablabla\\skjflka\yes\no\yeeha
我需要閱讀從右邊的字符串左,停在第一\
結果應該是
photo.jpg
why.jpg
yeeha
我該怎麼做?
可以說我有串搜索字符串並停止在特定的字符
G:\Test\Man\Wife\photo.jpg
C:\Folder\simple\why.jpg
blablabla\\skjflka\yes\no\yeeha
我需要閱讀從右邊的字符串左,停在第一\
結果應該是
photo.jpg
why.jpg
yeeha
我該怎麼做?
您可以使用REVERSE
和CHARINDEX
:
DECLARE @A VARCHAR(100);
SET @A = 'C:\Folder\simple\why.jpg';
SELECT REVERSE(LEFT(REVERSE(@A)+'\',CHARINDEX('\',REVERSE(@A)+'\')-1)) Result;
一個字符的最後一個位置是它的反轉串左右的時間內第一個位置:
select
right(path, charindex('\', reverse('\' + path)) - 1)
from t
(前面加上\
允許文件名)
我喜歡這一個。它比我的更簡單 – Lamak
獲取此錯誤消息402數據類型ntext和varchar在相等運算符 – user2210516
@ user2210516 jeezus中不兼容,您正在使用'ntext'?,您不應該這樣做。無論如何,您需要首先將其轉換,用'CONVERT(nvarchar(MAX),路徑)替換'path'' – Lamak
您正在使用哪個數據庫服務器 –
SQL SERVER 2014 – user2210516