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
.