2011-06-26 15 views
10

Gracias a una solicitud de cliente de último minuto, un campo entero en nuestra base de datos ahora necesita ser un decimal, a dos puntos. Un valor de 23 debería convertirse en 23.00.Alterar columna PostgreSQL del número entero al decimal

¿Hay alguna buena manera de convertir la tabla y transmitir los datos?

Admitiré abiertamente que no he hecho algo así con PostgreSQL antes, así que por favor sean amables conmigo.

Respuesta

17

Algo como esto debería funcionar:

alter table t alter column c type decimal(10,2); 

Editar:

Como @Oli se indica en los comentarios; el primer número es la longitud total del número (excluyendo el punto) así que el maxval para (10,2) sería 99999999.99

+0

¿Qué representa el '(10,2)'? ¿Significa que aceptará un valor de hasta '9999999999.99'? – Oli

+4

Veo ahora que el primer número es la longitud total del número (excluyendo el punto) así que el maxval para '(10,2)' sería '99999999.99' – Oli

Cuestiones relacionadas