Feb 08

Conversion varchar a float

He necesitado cambiar en una tabla unos valores que estaban como tipo varchar a tipo float.

En concreto era una columna de puntuaciones de resultados que tenían decimales, pero que estaba grabada como varchar (3).

Para hacer la conversión correctamente he tenido que asegurarme de quitar los signos + que llevaban algunas puntuaciones. No así con los signos – que han quedado como estaban, porque la conversión los interpreta correctamente como negativos.

También he tenido que asegurarme de que todos los decimales venían con punto (.) y no con coma (,), para ello he hecho un update a la tabla modificando en el campo correspondiente todas las comas por puntos.

A continuación simplemente he ido a la estructura de la tabla y he cambiado el tipo de la columna correspondiente. En este caso lo he cambiado a tipo Float con longitud 2,1 que significa que tiene dos dígitos, uno entero y otro decimal, dado que en este campo sólo podían venir los valores 0.0 0.5 y 1.0.

Para otro caso en el que los valores son mayores he utilizado un tipo Float con longitud 4,2 lo que me permite valores de 99.99 hasta 00.00 ¡incluyendo los negativos!.