Blog Mauricio Alpizar MySQL Como hacer un split en un campo de MySQL

Como hacer un split en un campo de MySQL

El caso es el siguiente:

Tengo un campo en mi tabla llamado rango y que contiene el siguiente valor: “del 228955 al 228994”, por lo que requeria analizar el rando de números entre ambos valores, la solucion inicial aunque pueden existir varias lo hice a traves de las funciones predefinidas de MySQL REPLACE y SUBSTRING_INDEX que viene siendo como un split o explode en PHP.

Solución:

SELECT  
 id_registro_conteo,
 rango,
 SUBSTRING_INDEX(REPLACE( REPLACE(rango,' al ','-'),'del','') , '-', 1) as rango,
 SUBSTRING_INDEX(REPLACE( REPLACE(rango,' al ','-'),'del','') , '-', -1) as rango2,
 (SUBSTRING_INDEX(REPLACE( REPLACE(rango,' al ','-'),'del','') , '-', -1)) - (SUBSTRING_INDEX(REPLACE( REPLACE(rango,' al ','-'),'del','') , '-', 1) ) as cantidad
 FROM registro_conteo WHERE 1 ORDER BY 1 DESC;

Related Post