sql >> Base de Datos >  >> RDS >> Mysql

¿Mysql puede dividir una columna?

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 .