Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membahagikan Nilai Dipisahkan Koma dengan Cekap dalam SQLite?

Bagaimana untuk Membahagikan Nilai Dipisahkan Koma dengan Cekap dalam SQLite?

Linda Hamilton
Linda Hamiltonasal
2025-01-03 11:00:39925semak imbas

How to Efficiently Split Comma-Separated Values in SQLite?

Memisahkan Nilai Dipisahkan Koma dalam SQLite

Apabila bekerja dengan data yang mengandungi nilai dipisahkan koma, mungkin perlu untuk mengekstrak komponen individu. Dalam SQLite, menggunakan fungsi seperti Replace() dan Trim() untuk mencapainya boleh menyusahkan. Berikut ialah pendekatan yang lebih cekap menggunakan Ungkapan Jadual Biasa (CTE).

Penyelesaian:

Langkah 1: Takrifkan 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 != ''
)
  • PILIH: Memulakan perkataan dan csv lajur.
  • UNION ALL: Membahagikan nilai csv secara rekursif dengan koma.
  • WHERE csv != '': Menamatkan rekursi apabila tiada lagi nilai untuk dipecah.

Langkah 2: Ekstrak Nilai

SELECT word FROM split WHERE word!='';
  • Menapis baris pertama dan terakhir (nilai dummy/terminal).
  • Mengekstrak nilai pecahan ke dalam lajur perkataan.

Output:

Auto
A
1234444

Penyelesaian ini menyediakan penyelesaian yang mudah dan cara yang cekap untuk memisahkan nilai yang dipisahkan koma dalam SQLite, walaupun apabila panjang rentetan berbeza-beza.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Nilai Dipisahkan Koma dengan Cekap dalam SQLite?. 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