Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengeluarkan Substrings dengan Cekap daripada Rentetan MySQL Menggunakan Pembatas?

Bagaimanakah Saya Boleh Mengeluarkan Substrings dengan Cekap daripada Rentetan MySQL Menggunakan Pembatas?

Linda Hamilton
Lepaskan: 2024-12-04 19:26:13
asal
112 orang telah melayarinya

How Can I Efficiently Extract Substrings from a MySQL String Using Delimiters?

Pengeluaran Substring dalam MySQL Menggunakan Pembatas

Dalam MySQL, mengekstrak subrentetan daripada rentetan boleh mencabar apabila pembatas (dalam kes ini, a koma) hadir. Ini kerana MySQL tidak menawarkan fungsi split khusus.

Pendekatan: Menggunakan Fungsi Ditentukan Pengguna

Seperti yang dicadangkan dalam soalan berkaitan, satu pendekatan adalah untuk memanfaatkan pengguna -fungsi yang ditetapkan untuk mencapai hasil yang diinginkan. Walau bagaimanapun, pendekatan ini memerlukan mencipta fungsi tersuai yang mengendalikan pemisahan rentetan.

Penyelesaian Alternatif: Pengekstrakan Verbose

Untuk pendekatan yang lebih terperinci tetapi cekap, pertimbangkan pertanyaan berikut:

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

Pertanyaan ini menggunakan fungsi SUBSTRING_INDEX beberapa kali untuk mengekstrak subrentetan secara berurutan. Panggilan SUBSTRING_INDEX pertama mengambil subrentetan pertama daripada medan warna menggunakan koma sebagai pembatas. Panggilan SUBSTRING_INDEX seterusnya mengambil subrentetan yang tinggal daripada rentetan yang terhasil.

N dalam pertanyaan mewakili bilangan subrentetan yang dikehendaki untuk diekstrak. Contohnya, colornth akan mengembalikan subrentetan ke-n daripada medan warna.

Pendekatan ini membolehkan anda mengekstrak subrentetan tanpa menggunakan fungsi yang ditakrifkan pengguna yang kompleks. Walau bagaimanapun, ia boleh menjadi verbose untuk set data yang besar atau sejumlah besar subrentetan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Substrings dengan Cekap daripada Rentetan MySQL Menggunakan 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