mysql-apicultur

Veíamos hace unos días como eliminar caracteres molestos de un campo de una tabla. La solución propuesta en ese post borraba todos los caracteres de ese tipo en el campo.

A veces no es eso lo que queremos, sino que “simplemente” queremos eliminar un carácter del principio o del final de un campo que nos molesta. Hablamos de esos espacio en blanco al principio o al final de un campo o ese punto final que no nos hace falta.

Para ello te propongo estas instrucciones:

Esta elimina el espacio inicial de todos los registros de la tabla “tabla” que lo tienen. Actúa sobre el campo, “campo”:

update tabla set
campo=SUBSTRING(campo,2,length(campo))
where campo like ‘ %’;

Esta elimina el espacio final de todos los registros de la tabla “tabla” que lo tienen. Actúa sobre el campo, “campo”:

update tabla set
campo=SUBSTRING(campo,1,length(campo)-1)
where campo like ‘% ‘;

¡Importante! fijáos en los espacios en blanco que hay en ambos valores a comparar en el LIKE.

Si lo que queréis quitar es el punto final, para homogeneizar todos los registros, esta es la instrucción:

update tabla set
campo=SUBSTRING(campo,1,length(campo)-1)
where campo like ‘%.’;

Recuerda que en estos entornos no tienes Ctrl-Z. Por supuesto, para hacer todo esto limita el acceso de otros usuarios a la tabla mientras dura el proceso ya que los cambios que hagan ellos no se actualizarán en tu tabla.

¡Atención! estas instrucciones son para sistemas de tablas sencillos, y aislados. Tu debes ser el dueño de estos datos para poder hacer todas estas operaciones y además saber muy bien lo que haces. Tu administrador de sistemas te puede matar si haces alguna de estas instrucciones sin su permiso.

Share →