Heim > Datenbank > MySQL-Tutorial > Wie kann ich durch Kommas getrennte Werte in SQLite mithilfe von CTEs effizient aufteilen?

Wie kann ich durch Kommas getrennte Werte in SQLite mithilfe von CTEs effizient aufteilen?

Mary-Kate Olsen
Freigeben: 2025-01-04 03:12:11
Original
154 Leute haben es durchsucht

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

Aufteilen von durch Kommas getrennten Werten in SQLite

Ein alternativer Ansatz für die Arbeit mit durch Kommas getrennten Zeichenfolgen in SQLite besteht in der Nutzung von Common Table Expressions (CTEs). ). CTEs bieten eine Möglichkeit, die Zeichenfolge effektiv in einzelne Werte zu zerlegen.

Schritt-für-Schritt-Implementierung:

  1. Erstellen Sie einen CTE: Definieren Sie zunächst einen CTE mit dem Namen „split“, der zwei Parameter akzeptiert: „word“, um einzelne Werte zu speichern, und „csv“, um die durch Kommas getrennten Werte zu speichern string.
  2. Erste Abfrage: In der ersten Abfrage des CTE geben Sie die CSV-Zeichenfolge an und verketten ein zusätzliches Komma, um das Ende anzuzeigen.
  3. Rekursive Abfrage: Die rekursive Abfrage verwendet substr() und instr(), um das erste Wort bis zum nächsten Komma zu extrahieren und zu aktualisieren die CSV-Datei, um den analysierten Teil zu entfernen. Dieser Vorgang wird wiederholt, bis keine Kommas mehr gefunden werden.
  4. Ergebnis auswählen: Wählen Sie abschließend die Wortspalte aus dem CTE aus, mit Ausnahme der ersten und letzten Zeilen, die die rohe CSV-Zeichenfolge darstellen, und alle anderen verbleibender leerer Text.

Beispiel:

Hier ist ein Codebeispiel zur Veranschaulichung des CTE-Ansatzes:

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!='';
Nach dem Login kopieren

Ausgabe:

Auto
A
1234444
Nach dem Login kopieren

Diese Methode bietet eine präzise und effiziente Möglichkeit, durch Kommas getrennte Zeichenfolgen in SQLite aufzuteilen, sodass Sie darauf zugreifen können individuelle Werte mit Leichtigkeit.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage