Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Membahagikan Nilai Dipisahkan Koma dengan Cekap dalam SQLite Menggunakan CTE?

Bagaimanakah Saya Boleh Membahagikan Nilai Dipisahkan Koma dengan Cekap dalam SQLite Menggunakan CTE?

Mary-Kate Olsen
Lepaskan: 2025-01-04 03:12:11
asal
154 orang telah melayarinya

How Can I Efficiently Split Comma-Separated Values in SQLite Using CTEs?

Memisahkan Nilai Dipisahkan Koma dalam SQLite

Pendekatan alternatif untuk bekerja dengan rentetan yang dipisahkan koma dalam SQLite melibatkan memanfaatkan Ungkapan Jadual Biasa (CTEs ). CTE menyediakan cara untuk memecahkan rentetan kepada nilai individu dengan berkesan.

Pelaksanaan Langkah demi Langkah:

  1. Buat CTE: Mulakan dengan mentakrifkan pemisahan bernama CTE yang menerima dua parameter: perkataan untuk menyimpan nilai individu dan csv untuk menyimpan rentetan dipisahkan koma.
  2. Pertanyaan Awal: Dalam pertanyaan awal CTE, anda akan menentukan rentetan CSV, menggabungkan koma tambahan untuk menunjukkan penghujungnya.
  3. Pertanyaan Rekursif: Pertanyaan rekursif menggunakan substr() dan instr() untuk mengekstrak perkataan pertama sehingga koma seterusnya dan kemas kini csv untuk mengalih keluar bahagian yang dihuraikan. Proses ini berulang sehingga tiada lagi koma ditemui.
  4. Pilih Hasil: Akhir sekali, pilih lajur perkataan daripada CTE, tidak termasuk baris pertama dan terakhir, yang mewakili rentetan CSV mentah dan mana-mana sisa kosong teks.

Contoh:

Berikut ialah contoh kod untuk menggambarkan pendekatan CTE:

WITH split(word, csv) AS (
  SELECT '', 'Auto,A,1234444'||','
  UNION ALL SELECT
    substr(csv, 0, instr(csv, ',')),
    substr(csv, instr(csv, ',') + 1)
  FROM split
  WHERE csv != ''
) SELECT word FROM split 
WHERE word!='';
Salin selepas log masuk

Output:

Auto
A
1234444
Salin selepas log masuk

Kaedah ini menawarkan cara yang ringkas dan cekap untuk memisahkan rentetan yang dipisahkan koma dalam SQLite, membolehkan anda mengakses nilai individu dengan mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Nilai Dipisahkan Koma dengan Cekap dalam SQLite Menggunakan CTE?. 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