Anda dapat mencoba menggunakan USING :
Opsi
USINGklausa menentukan cara menghitung nilai kolom baru dari yang lama; jika dihilangkan, konversi default sama dengan penugasan yang dilemparkan dari tipe data lama ke yang baru. AUSINGklausa harus disediakan jika tidak ada pemeran implisit atau penugasan dari tipe lama ke tipe baru.
Jadi ini mungkin berhasil (tergantung data Anda):
alter table presales alter column code type numeric(10,0) using code::numeric;
-- Or if you prefer standard casting...
alter table presales alter column code type numeric(10,0) using cast(code as numeric);
Ini akan gagal jika Anda memiliki sesuatu di code yang tidak dapat dilemparkan ke numerik; jika USING gagal, Anda harus membersihkan data non-numerik dengan tangan sebelum mengubah jenis kolom.