分割字符串,并采取最后一个元素(Split string and take last element

2019-07-18 10:16发布

我有这个值的表:

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

我想这

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

我怎样才能做到这一点?

Answer 1:

这样做在SQL的方式:

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

这里的jsfiddle http://sqlfiddle.com/#!3/41ead/11



Answer 2:

SELECT REVERSE(LEFT(REVERSE(columnName), CHARINDEX('/', REVERSE(columnName)) - 1))
FROM   tableName
  • SQLFiddle演示

椅子中源(S)

  • 相反
  • 剩下
  • CHARINDEX


Answer 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


Answer 4:

请尝试以下代码:

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


Answer 5:

我纠正jazzytomato的溶液为单个字符记号( D )和单标记( Diet.aspx

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


Answer 6:

试试这个。 它更容易。

SELECT RIGHT(字符串,CHARINDEX( '/',REVERSE(字符串))-1)FROM表名



文章来源: Split string and take last element