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
.