Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann MySQL eine Spalte teilen?

Es scheint zu funktionieren:

substring_index ( substring_index ( context,',',1 ), ',', -1) 
substring_index ( substring_index ( context,',',2 ), ',', -1)
substring_index ( substring_index ( context,',',3 ), ',', -1)
substring_index ( substring_index ( context,',',4 ), ',', -1)

es bedeutet 1. Wert, 2., 3. usw.

Erklärung:

Der innere substring_index gibt die ersten n Werte zurück, die durch Kommas getrennt sind. Wenn Ihre ursprüngliche Zeichenfolge also "34,7,23,89" ist, substring_index( context,',', 3) gibt "34,7,23" zurück.
Der äußere substring_index nimmt den vom inneren substring_index zurückgegebenen Wert und die -1 ermöglicht es Ihnen, den letzten Wert zu übernehmen. Aus "34,7,23" wird also "23".
Statt -1 wenn Sie -2 angeben , erhalten Sie "7,23", da die letzten beiden Werte verwendet wurden.

Beispiel:

select * from MyTable where substring_index(substring_index(prices,',',1),',',-1)=3382;

Hier prices ist der Name einer Spalte in MyTable .