Hola mikexloo:
A estas horas de la tarde (4:30 pm en México) y con el estómago vacío no se me ocurren muchas cosas, pero prueba con esto;
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.11 sec)
mysql
> insert into tabla_find
values ('4,6,1,9,18'), ('1,11,111,11111,100001'),('21,31,41,51');
Query OK, 3 rows affected (0.05 sec)
+-----------------------+
| texto |
+-----------------------+
| 4,6,1,9,18 |
| 1,11,111,11111,100001 |
| 21,31,41,51 |
+-----------------------+
,', ','), 2, length(replace(concat(',', texto
, ','), ',1,', ',')) - 2); Query OK, 2 rows affected (0.03 sec)
+---------------------+
| texto |
+---------------------+
| 4,6,9,18 |
| 11,111,11111,100001 |
| 21,31,41,51 |
+---------------------+
En el ejemplo estoy eliminando los 1's, para eliminar algún otro elemento lo único que tendrías que cambiar es esta intrucción:
Código:
replace(concat(',', texto, ','), ',1,', ',')
la idea que se me ocurrió es concatenar una coma al inicio y fin de la cadena y buscar justamente el elemento entre comas (,1,) y sustituirlo por una (,). Al final con el substring "recortas" la cadena para eliminar las comas del inicio y fin de la cadena. Seguramente hay alguna otra forma de hacer esto mismo, optimizando código, pero de primera es lo único que se me ocurre. Si encuentro alguna otra solución mañana la posteo.
Saludos
Leo.