17 marzo 2008

MySQL y los códigos postales

Volviendo a algo más técnico, anotaré la solución de un problema surgido esta mañana.

Tenemos un montón de códigos postales que comienzan por 6, de cuatro dígitos, en lugar de los cinco que deberían tener. Para convertirlos en correctos debería insertarles un cero delante. Así de 6001 pasaría a 06001 y sucesivamente.

Hacerlo con una hoja de cálculo es sencillo, aunque laborioso, así que lo he intentado hacer directamente mediante MySQL (o SQL, que sería igual). Tras un par de vueltas, la solución es esta:
UPDATE mitabla
SET codpostal = concat( '0', codpostal )
WHERE codpostal LIKE '6%'
Utilizando la función concat de SQL puedo unir dos cadenas que cumplan un criterio determinado.

Esto sirve en general, para añadir un cadena o secuencia concreta a cualquier campo que tengamos en una tabla.

2 comentarios:

Anónimo dijo...

Hello. This post is likeable, and your blog is very interesting, congratulations :-). I will add in my blogroll =). If possible gives a last there on my blog, it is about the OLED, I hope you enjoy. The address is http://oled-brasil.blogspot.com. A hug.

Antonio dijo...

Sure, I'll check it. Thanks for your comments.

Regards,

Antonio