Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mengekstrak Elemen Terakhir Rentetan Selepas Slash Akhir dalam SQL?

Bagaimana untuk mengekstrak Elemen Terakhir Rentetan Selepas Slash Akhir dalam SQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-26 06:18:11975semak imbas

How to Extract the Last Element of a String After the Final Slash in SQL?

Mengekstrak Elemen Terakhir Rentetan Pisah

Masalah:

Pertimbangkan jadual yang mengandungi nilai bentuk:

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

Objektifnya adalah untuk mengekstrak elemen terakhir selepas aksara "/" akhir daripada setiap rentetan, supaya outputnya menjadi:

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

Penyelesaian:

Pendekatan SQL:

Untuk mencapai ini dalam SQL, gunakan yang berikut pertanyaan:

SELECT SUBSTRING(string , LEN(string) -  CHARINDEX('/',REVERSE(string)) + 2  , LEN(string)  ) FROM SAMPLE;
  • Fungsi SUBSTRING mengambil tiga argumen: kedudukan mula, panjang dan rentetan input.
  • Fungsi CHARINDEX mengesan kejadian pertama rentetan tertentu dalam rentetan lain .
  • REVERSE membalikkan rentetan input, membenarkan carian untuk yang terakhir "/".
  • Ungkapan ini mengira kedudukan permulaan subrentetan untuk diekstrak (hujung rentetan tolak panjang dari "/" terakhir hingga akhir ditambah 2).
  • The pertanyaan memilih subrentetan yang diekstrak daripada SAMPLE yang ditentukan jadual.

Contoh:

Untuk input yang disediakan, outputnya ialah:

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx

Rujuk JSFiddle ini untuk demonstrasi langsung: http://sqlfiddle.com/#!3/41ead/11

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak Elemen Terakhir Rentetan Selepas Slash Akhir dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn