2011-06-26 44 views
10

Nhờ yêu cầu khách hàng phút cuối, trường số nguyên trong cơ sở dữ liệu của chúng tôi giờ phải là số thập phân, đến hai điểm. Giá trị 23 sẽ trở thành 23.00.Thay đổi cột PostgreSQL từ số nguyên sang số thập phân

Có cách nào tốt để tôi có thể chuyển đổi bảng và truyền dữ liệu qua không?

Tôi sẽ tự do thừa nhận, tôi đã không làm bất cứ điều gì như thế này với PostgreSQL trước đây vì vậy hãy nhẹ nhàng với tôi.

Trả lời

17

Something như thế này nên làm việc:

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

Edit:

Như @Oli tuyên bố trong các ý kiến; số đầu tiên là toàn bộ chiều dài của số (không bao gồm điểm), vì vậy, giá trị tối đa cho (10,2) sẽ là 99999999.99

+0

Đại diện '(10,2)' là gì? Nó có nghĩa là nó sẽ chấp nhận một giá trị lên đến '9999999999.99'? – Oli

+4

Tôi thấy bây giờ số đầu tiên là toàn bộ chiều dài của số (không bao gồm điểm), vì vậy giá trị tối đa cho '(10,2)' sẽ là '99999999,99' – Oli

Các vấn đề liên quan