Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengekstrak Elemen Terakhir daripada Rentetan Terpisah-Slash Hadapan dalam SQL?

Bagaimana untuk mengekstrak Elemen Terakhir daripada Rentetan Terpisah-Slash Hadapan dalam SQL?

Patricia Arquette
Lepaskan: 2024-12-30 13:26:14
asal
702 orang telah melayarinya

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

Mengekstrak Elemen Terakhir daripada Rentetan Pisah dalam Pangkalan Data

Dalam jadual yang terdiri daripada rentetan yang mengandungi berbilang elemen yang dipisahkan oleh garis miring ke hadapan (/), objektif adalah untuk mengekstrak elemen terakhir dari setiap rentetan. Sebagai contoh, diberikan rentetan berikut:

Articles/Search/ArtMID/2681/ArticleID/2218/Diet.aspx
OurStory/MeettheFoodieandtheMD.aspx
TheFood/OurMenu.aspx
Salin selepas log masuk

Output yang dikehendaki hendaklah:

Diet.aspx
MeettheFoodieandtheMD.aspx
OurMenu.aspx
Salin selepas log masuk

SQL Approach

Untuk mencapai ini dalam SQL, pertanyaan berikut boleh digunakan:

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

Pertanyaan ini berfungsi oleh:

  1. Menggunakan fungsi REVERSE() untuk membalikkan rentetan, yang meletakkan elemen terakhir pada permulaan.
  2. Menggunakan CHARINDEX() dengan rentetan terbalik untuk mencari kedudukan yang terakhir /.
  3. Mengira kedudukan permulaan unsur terakhir dengan menolak kedudukan '/' terakhir daripada jumlah panjang rentetan asal dan menambah 2 (untuk mengambil kira kedudukan selepas '/' dan panjang elemen).
  4. Menggunakan fungsi SUBSTRING() untuk mengekstrak elemen terakhir berdasarkan kedudukan permulaan dan panjang yang dikira.

Pendekatan ini berkesan mengekstrak elemen terakhir daripada setiap rentetan dengan membalikkan rentetan, mencari yang terakhir / dan kemudian menggunakan penemuan ini untuk menentukan titik permulaan bagi subrentetan pengekstrakan.

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

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan