Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh mengekstrak subrentetan daripada rentetan terhad dalam MySQL?

Bagaimanakah saya boleh mengekstrak subrentetan daripada rentetan terhad dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-03 20:52:12890semak imbas

How Can I Extract Substrings from a Delimited String in MySQL?

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!

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