Parece funcionar:
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)
significa 1er valor, 2do, 3ro, etc.
Explicación:
El substring_index interno devuelve los primeros n valores separados por comas. Entonces, si su cadena original es "34,7,23,89", substring_index( context,',', 3) devuelve "34,7,23".
El substring_index externo toma el valor devuelto por el substring_index interno y el -1 le permite tomar el último valor. Entonces obtienes "23" de "34,7,23".
En lugar de -1 si especifica -2 , obtendrá "7,23", porque tomó los dos últimos valores.
Ejemplo:
select * from MyTable where substring_index(substring_index(prices,',',1),',',-1)=3382;
Aquí, prices es el nombre de una columna en MyTable .