Подтвердить что ты не робот

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

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

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

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

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

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

4b9b3361

Ответ 1

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

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

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

Ответ 3

Попробуйте:

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

Ответ 4

Пожалуйста, попробуйте код ниже:

SELECT SUBSTRING( attachment, LEN(attachment) 
     - CHARINDEX('/', REVERSE(attachment)) + 2, LEN(attachment)  ) AS filename 
FROM filestable;

Ответ 5

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

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

Ответ 6

Попробуй это. Это проще.

ВЫБРАТЬ ПРАВО (строка, CHARINDEX ('/', REVERSE (строка)) -1) FROM TableName

Ответ 7

reverse(SUBSTRING(reverse(yourString),0,CHARINDEX('/',reverse(yourString)))) as stringLastPart