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.
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;
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")));
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!