Mengekstrak Subrentetan daripada MySQL String dengan Delimiter
Dalam MySQL, mengekstrak subrentetan daripada rentetan boleh mencabar jika rentetan mengandungi berbilang subrentetan yang dipisahkan oleh pembatas. Walau bagaimanapun, terdapat teknik untuk mencapai ini menggunakan fungsi MySQL standard.
Penyelesaian Menggunakan Fungsi Split
Malangnya, MySQL tidak menyokong fungsi rentetan berpecah secara asli. Walau bagaimanapun, fungsi split tersuai boleh dibuat menggunakan prosedur tersimpan atau fungsi yang ditentukan pengguna. Rujuk sumber luaran seperti yang disediakan dalam jawapan.
Kaedah Verbose Menggunakan SUBSTRING_INDEX
Untuk pengekstrakan data yang mudah, pendekatan yang lebih bertele-tele boleh digunakan:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS colorfirst, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS colorsecond, ... SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n), ',', -1) AS colornth FROM product;
Pernyataan SQL ini berulang kali menggunakan fungsi SUBSTRING_INDEX untuk menguraikan rentetan warna ke dalam subrentetan individu berdasarkan pembatas koma. Pembolehubah "n" mewakili kedudukan subrentetan yang dikehendaki dalam rentetan. Sebagai contoh, jika anda ingin mengekstrak tiga warna pertama daripada medan "warna", anda akan menetapkan "n" kepada 1, 2 dan 3 dalam pernyataan di atas.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak subrentetan daripada rentetan MySQL dengan pembatas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!