Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Kejadian Terakhir Substring dalam MySQL?
MySQL menyediakan fungsi INSTR() untuk mengenal pasti tika pertama subrentetan dalam rentetan. Walau bagaimanapun, mencari kejadian terakhir menimbulkan cabaran kerana tiada fungsi terbina dalam yang dikhaskan semata-mata untuk tujuan ini.
Penyelesaian:
MySQL menawarkan kaedah alternatif untuk dicapai tugas ini menggunakan fungsi LOCATE dan fungsi REVERSE, seperti yang ditunjukkan di bawah:
SELECT CHAR_LENGTH("Have_a_good_day") - LOCATE('_', REVERSE("Have_a_good_day"))+1;
Ungkapan ini mengira yang terakhir kedudukan indeks subrentetan yang ditentukan, yang dalam contoh ini ialah garis bawah (_).
Untuk mendapatkan subrentetan sebelum kejadian terakhir, gunakan:
SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last")));
Ini akan mengembalikan rentetan " pertama_tengah." Untuk memasukkan pembatas, laraskan pertanyaan seperti berikut:
SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last"))+1);
Untuk mencari subrentetan selepas kejadian terakhir, pertimbangkan fungsi SUBSTRING_INDEX:
SELECT SUBSTRING_INDEX("first_middle_last", '_', -1);
Ungkapan ini akan menghasilkan subrentetan " terakhir."
Atas ialah kandungan terperinci Bagaimana untuk Mencari Kejadian Terakhir Substring dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!