Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mencari Kejadian Kedua atau Ketiga Substring dalam MySQL?

Bagaimana untuk Mencari Kejadian Kedua atau Ketiga Substring dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 00:08:28801semak imbas

How to Find the Second or Third Occurrence of a Substring in MySQL?

Mencari Indeks Kedua atau Ketiga Substring dalam MySQL

Apabila bekerja dengan rentetan dalam pangkalan data, selalunya perlu untuk mencari kedudukan daripada subrentetan tertentu. Dalam kes di mana pertanyaan LIKE mudah tidak mencukupi, anda mungkin memerlukan cara untuk mengenal pasti indeks kejadian khusus subrentetan itu dengan tepat.

Masalah:
Anda mempunyai ruang- rentetan dipisahkan dan perlu mengekstrak bahagian tertentu rentetan berdasarkan kedudukan relatifnya. Contohnya, memandangkan rentetan "AAAA BBBB CCCC DDDD EEE," anda mahu mengekstrak subrentetan "CCCC."

Penyelesaian:
MySQL menyediakan fungsi berkuasa yang dipanggil SUBSTRING_INDEX yang membenarkan anda untuk mencari kejadian ke-n bagi subrentetan dalam rentetan yang lebih besar. Untuk mencari ruang kedua (atau ketiga) dalam rentetan, anda boleh menggunakan panggilan SUBSTRING_INDEX bersarang.

<code class="sql">SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field, ' ', 3), ' ', -1)
FROM table</code>

Dalam pertanyaan di atas, panggilan SUBSTRING_INDEX dalaman mengekstrak subrentetan sehingga ruang ketiga dalam lajur medan , memberikan anda "AAAA BBBB CCCC." Panggilan SUBSTRING_INDEX luar kemudian mengasingkan subrentetan selepas ruang ketiga itu, yang dalam kes ini ialah "CCCC."

Dengan menyarangkan berbilang panggilan SUBSTRING_INDEX, anda boleh terus mengenal pasti kejadian seterusnya bagi pembatas dan mengekstrak subrentetan yang dikehendaki sebagai diperlukan. Fungsi serba boleh ini menyediakan cara yang mudah dan cekap untuk mengendalikan tugas manipulasi rentetan yang kompleks dalam MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Kejadian Kedua atau Ketiga 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