Изглежда, че работи:
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)
означава 1-ва стойност, 2-ра, 3-та и т.н.
Обяснение:
Вътрешният substring_index
връща първите n стойности, които са разделени със запетая. Така че, ако оригиналният ви низ е "34,7,23,89", substring_index( context,',', 3)
връща "34,7,23".
Външният substring_index
приема стойността, върната от вътрешния substring_index
и -1
ви позволява да вземете последната стойност. Така че получавате "23" от "34,7,23".
Вместо -1
ако посочите -2
, ще получите "7,23", защото взе последните две стойности.
Пример:
select * from MyTable where substring_index(substring_index(prices,',',1),',',-1)=3382;
Тук prices
е името на колона в MyTable
.