Разделить строку и взять последний элемент

У меня есть таблица с такими значениями:

Articles/Search/ArtMID/2681/ArticleID/2218/Diet.aspx
OurStory/MeettheFoodieandtheMD.aspx
TheFood/OurMenu.aspx

Я хочу получить этот

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

Как я могу это сделать?

4 ответа

Способ сделать это в SQL:

SELECT SUBSTRING( string , LEN(string) - CHARINDEX('/',REVERSE(string)) + 2 , LEN(string) ) FROM SAMPLE;

JSFiddle здесь http://sqlfiddle.com/#!3/41ead/11


SELECT REVERSE(LEFT(REVERSE(columnName), CHARINDEX('/', REVERSE(columnName)) - 1))
FROM tableName

ORHER SOURCE (s)


Попробуйте:

select url,(CASE WHEN CHARINDEX('/', url, 1)=0 THEN url ELSE RIGHT(url, CHARINDEX('/', REVERSE(url)) - 1) END)
from(
 select 'Articles/Search/ArtMID/2681/ArticleID/2218/Diet.aspx' as url union
 select 'OurStory/MeettheFoodieandtheMD.aspx' as url union
 select 'MeettheFoodieandtheMD.aspx' as url
)xx


Я исправил решение jazzytomato для однотипных токенов (D) и для одиночных токенов (Diet.aspx)

SELECT SUBSTRING( string , LEN(string) - CHARINDEX('/','/'+REVERSE(string)) + 2 , LEN(string) ) FROM SAMPLE;

licensed under cc by-sa 3.0 with attribution.