Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O MySQL pode dividir uma coluna?


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 .