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
.