Heim >Datenbank >MySQL-Tutorial >Wie teilt man durch Kommas getrennte Werte in SQLite effizient auf?

Wie teilt man durch Kommas getrennte Werte in SQLite effizient auf?

Linda Hamilton
Linda HamiltonOriginal
2025-01-03 11:00:39914Durchsuche

How to Efficiently Split Comma-Separated Values in SQLite?

Aufteilen von durch Kommas getrennten Werten in SQLite

Beim Arbeiten mit Daten, die durch Kommas getrennte Werte enthalten, kann es notwendig sein, einzelne Komponenten zu extrahieren. In SQLite kann die Verwendung von Funktionen wie „Replace()“ und „Trim()“ umständlich sein. Hier ist ein effizienterer Ansatz mit einem Common Table Expression (CTE).

Lösung:

Schritt 1: Definieren Sie den 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: Initialisiert Word und CSV Spalten.
  • UNION ALL: Teilt CSV-Werte rekursiv durch Kommas.
  • WHERE csv != '': Beendet die Rekursion, wenn keine Werte mehr zum Teilen vorhanden sind.

Schritt 2: Extrahieren Sie die Werte

SELECT word FROM split WHERE word!='';
  • Filtert die erste und letzte Zeile heraus (Dummy-/Endwerte).
  • Extrahiert die geteilten Werte in die Wortspalte.

Ausgabe:

Auto
A
1234444

Diese Lösung bietet eine einfache und effiziente Möglichkeit zur Aufteilung Durch Kommas getrennte Werte in SQLite, auch wenn die Zeichenfolgenlängen variieren.

Das obige ist der detaillierte Inhalt vonWie teilt man durch Kommas getrennte Werte in SQLite effizient auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn