首頁 >資料庫 >mysql教程 >如何從 SQL 中正斜線分隔的字串中提取最後一個元素?

如何從 SQL 中正斜線分隔的字串中提取最後一個元素?

Patricia Arquette
Patricia Arquette原創
2024-12-30 13:26:14667瀏覽

How to Extract the Last Element from a Forward-Slash Separated String in SQL?

從資料庫中的分割字串中提取最後一個元素

在包含多個由正斜線(/) 分隔的元素的字串組成的表中,目標是從每個字串中提取最後一個元素。例如,給定以下字串:

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

所需的輸出應該是:

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

SQL方法

要實現此目的SQL,可以使用以下查詢:

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

這個查詢有效通過:

  1. 使用REVERSE() 函數反轉字串,將最後一個元素放在開頭。
  2. 使用CHARINDEX() 和反轉後的字串來找出最後一個/.
  3. 透過總長度減去最後一個'/'的位置來計算最後一個元素的起始位置原始字串並添加2(以考慮“/”後面的位置和元素的長度)。
  4. 使用SUBSTRING() 函數根據計算出的起始位置提取最後一個元素length.

這種方法透過反轉字串,找到最後一個元素/,然後使用這些發現來確定起始點,從而有效地從每個字串中提取最後一個元素子字串提取。

以上是如何從 SQL 中正斜線分隔的字串中提取最後一個元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn