Mengekstrak Substring dalam MySQL Menggunakan Pembatas
Masalah:
Ekstrak subrentetan daripada rentetan dalam MySQL yang mengandungi berbilang nilai yang dipisahkan oleh pembatas tertentu, seperti koma (,).
Jawapan:
Walaupun MySQL tidak mempunyai fungsi rentetan split terbina dalam, terdapat pendekatan alternatif untuk mencapai ini:
Fungsi Ditentukan Pengguna:
Laksanakan fungsi takrif pengguna (UDF) yang memisahkan rentetan berdasarkan pembatas yang ditentukan.
Contoh Pertanyaan (Verbose):
Untuk tujuan tunjuk cara, anggap n mewakili bilangan subrentetan yang anda ingin keluarkan:
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;
Dalam contoh ini, fungsi SUBSTRING_INDEX digunakan untuk mengekstrak subrentetan pertama, kemudian yang kedua, dan seterusnya sehingga subrentetan ke-.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengekstrak subrentetan daripada rentetan terhad dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!