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 1º valor, 2º, 3º, etc.
Explicação:
O
substring_index interno retorna os primeiros n valores separados por vírgula. Portanto, se sua string original for "34,7,23,89", substring_index( context,',', 3) retorna "34,7,23".O
substring_index externo pega o valor retornado pelo substring_index interno e o -1 permite que você tome o último valor. Então você obtém "23" do "34,7,23".Em vez de
-1 se você especificar -2 , você obterá "7,23", porque levou os dois últimos valores. Exemplo:
select * from MyTable where substring_index(substring_index(prices,',',1),',',-1)=3382;
Aqui,
prices é o nome de uma coluna em MyTable .