Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Indeks Terakhir Substring dalam MySQL?

Bagaimana untuk Mencari Indeks Terakhir Substring dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-10 14:45:021037semak imbas

How to Find the Last Index of a Substring in MySQL?

MySQL: Mencari Indeks Terakhir Subrentetan

Dalam MySQL, fungsi INSTR() boleh digunakan untuk menentukan indeks kejadian pertama subrentetan. Walau bagaimanapun, jika timbul keperluan untuk memastikan indeks kejadian terakhir, tiada fungsi terbina dalam yang sedia menangani keperluan ini.

Menggunakan REVERSE() dan LOCATE()

Sebagai pendekatan alternatif, gabungan fungsi REVERSE() dan LOCATE() boleh digunakan untuk mencari kejadian terakhir aksara atau subrentetan. Strategi ini melibatkan pembalikan rentetan, mengenal pasti indeks menggunakan LOCATE(), dan kemudian menolak hasil daripada panjang rentetan asal.

Sebagai contoh, pernyataan berikut mendapatkan semula indeks terakhir aksara garis bawah dalam rentetan " Have_a_good_day":

SELECT CHAR_LENGTH("Have_a_good_day") - LOCATE('_', REVERSE("Have_a_good_day"))+1;

Mengekstrak Bahagian Kiri Rentetan

Untuk mengekstrak bahagian kiri rentetan sebelum kejadian terakhir pembatas, gunakan:

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last")));

Memilih Bahagian Kanan Rentetan

Untuk mengasingkan bahagian kanan rentetan selepas kejadian terakhir pembatas, kaedah alternatif menggunakan fungsi SUBSTRING_INDEX() ialah disyorkan:

SELECT SUBSTRING_INDEX("first_middle_last", '_', -1);

Walaupun mudah untuk LOCATE() memasukkan pilihan untuk mencari dari sebelah kanan, teknik ini menyediakan penyelesaian yang berkesan untuk mendapatkan indeks terakhir subrentetan dalam MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Indeks Terakhir Substring dalam MySQL?. 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