Pecah rentetan MySQL: kaedah setara dengan fungsi PHP explode()
Dalam MySQL, anda akan menemui situasi di mana anda perlu memanipulasi rentetan dengan membahagikannya kepada tatasusunan. Dalam PHP, fungsi explode() yang popular mencapai tujuan ini dengan berkesan. Walaupun MySQL sendiri tidak menyediakan fungsi yang setara untuk explode(), anda boleh melaksanakan fungsi serupa yang berfungsi dalam MySQL.
Untuk melaksanakan fungsi split tersuai, cipta fungsi MySQL menggunakan sintaks berikut:
<code class="language-sql">CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT) RETURNS VARCHAR(255)</code>
Fungsi mengambil parameter berikut:
Berikut ialah badan fungsi:
<code class="language-sql">RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos), CHAR_LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1), delim, '');</code>
Sebagai contoh, pertimbangkan pertanyaan berikut:
<code class="language-sql">SELECT SPLIT_STRING('apple, pear, melon', ',', 1)</code>
Pertanyaan ini akan mengembalikan kejadian pertama bagi pembatas ','. Dalam kes ini ia akan mengembalikan 'epal'.
Dengan menggunakan fungsi tersuai ini, anda boleh melaksanakan pemisahan rentetan dalam MySQL, mencapai fungsi yang serupa dengan PHP's explode(). Penyelesaian ini menyediakan cara yang mudah untuk menghuraikan rentetan dalam MySQL dan amat berguna apabila bekerja dengan data yang perlu dipisahkan kepada elemen individu.
Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Fungsi explode() PHP dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!