2011-06-26 11 views
10

Dzięki prośbie klienta w ostatniej chwili pole liczby całkowitej w naszej bazie danych musi teraz być dziesiętne, do dwóch punktów. Wartość 23 powinna stać się 23.00.Alter kolumna PostgreSQL z liczby całkowitej na liczbę dziesiętną

Czy istnieje dobry sposób na przekonwertowanie tabeli i przesłanie danych?

Przyznam się swobodnie, że nie zrobiłem czegoś takiego z PostgreSQL, więc proszę, bądź dla mnie łagodny.

Odpowiedz

17

Coś jak to powinno działać:

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

Edit:

Jak @Oli podano w komentarzach; pierwsza liczba to całkowita długość liczby (bez punktu), więc wartość maksymalna dla (10,2) będzie wynosić 99999999.99

+0

Co oznacza '(10,2)'? Czy to oznacza, że ​​zaakceptuje wartość do "9999999999.99"? – Oli

+4

Widzę teraz, że pierwsza liczba to cała długość liczby (bez punktu), więc maksimum dla '(10,2)' będzie wynosić '99999999.99' – Oli

Powiązane problemy