Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengekstrak subrentetan daripada rentetan MySQL dengan pembatas?

Bagaimana untuk mengekstrak subrentetan daripada rentetan MySQL dengan pembatas?

Patricia Arquette
Lepaskan: 2024-11-28 13:20:12
asal
700 orang telah melayarinya

How to Extract Substrings from a MySQL String with a Delimiter?

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;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan