Heim > Datenbank > MySQL-Tutorial > Wie teile ich durch Kommas getrennte VARCHAR-Spaltenwerte in SQL auf?

Wie teile ich durch Kommas getrennte VARCHAR-Spaltenwerte in SQL auf?

DDD
Freigeben: 2024-12-16 14:37:17
Original
235 Leute haben es durchsucht

How to Split Comma-Separated VARCHAR Column Values in SQL?

VARCHAR-Spaltenwerte in SQL aufteilen

In SQL speichert der VARCHAR-Datentyp Zeichenfolgen variabler Länge. Beim Umgang mit VARCHAR-Spalten kann es erforderlich sein, die Spaltenwerte in mehrere Einzelwerte aufzuteilen.

Angenommen, Sie haben eine SQL-SELECT-Anweisung wie diese:

SELECT 
  AD_Ref_List.Value
FROM AD_Ref_List
WHERE AD_Ref_List.AD_Reference_ID= 1000448
Nach dem Login kopieren

Diese Anweisung gibt alle zurück Werte aus der Spalte „Value“ in der Tabelle „AD_Ref_List“, wobei die Spalte „AD_Reference_ID“ gleich 1000448 ist. Das Ergebnis könnte so aussehen Dies:

Value
CO,VO

In diesem Ergebnis enthält die Spalte „Wert“ eine durch Kommas getrennte Liste von Werten. Um die Ergebnisse weiter zu filtern, möchten Sie möglicherweise die Werte in einzelne Zeilen aufteilen, z. B.:

Value
CO
VO

Eine Möglichkeit, dies zu erreichen, ist die Verwendung des IN-Operators wie folgt:

SELECT 
  AD_Ref_List.Value
FROM AD_Ref_List
WHERE AD_Ref_List.AD_Reference_ID= 1000448
AND AD_Ref_List.Value IN
  (SELECT xx_insert.XX_DocAction_Next
  FROM xx_insert
  WHERE xx_insert_id = 1000283
  )
;
Nach dem Login kopieren

Diese Abfrage gibt jedoch möglicherweise keine Zeilen zurück, da Oracle die Werteliste als einzelne Zeichenfolge und nicht als einzelne Werte behandelt. Um dies zu beheben, können Sie die folgende Technik verwenden:

SELECT r.Value
FROM   AD_Ref_List r
       INNER JOIN xx_insert x
       ON ( ',' || x.XX_DocAction_Next || ',' LIKE '%,' || r.value || ',%' )
WHERE  r.AD_Reference_ID = 1000448
AND    x.xx_insert_id    = 1000283;
Nach dem Login kopieren

Diese Abfrage verwendet den LIKE-Operator, um zu prüfen, ob der Wert aus der AD_Ref_List-Tabelle eine Teilzeichenfolge der Werteliste aus der xx_insert-Tabelle ist. Dadurch wird das gewünschte Ergebnis zurückgegeben, wobei jeder Wert in der Spalte „Wert“ als separate Zeile angezeigt wird.

Das obige ist der detaillierte Inhalt vonWie teile ich durch Kommas getrennte VARCHAR-Spaltenwerte in SQL auf?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage