PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Ubah tipe data kolom dari Teks ke Integer di PostgreSQL

create table test(id varchar );
insert into test values('1');
insert into test values('11');
insert into test values('12');

select * from test

 --Result--
 id
 character varying
--------------------------
 1
 11
 12

Anda dapat melihat dari tabel di atas bahwa saya telah menggunakan tipe data – character varying untuk id kolom. Tapi itu adalah kesalahan karena saya selalu memberikan integers sebagai id . Jadi gunakan varchar di sini adalah praktik yang buruk. Jadi mari kita coba ubah jenis kolom menjadi integer .

ALTER TABLE test ALTER COLUMN id TYPE integer;

Tapi itu kembali:

Artinya kita tidak bisa begitu saja mengubah tipe data karena data sudah ada di kolom. Karena data bertipe character varying Postgres tidak dapat mengharapkannya sebagai bilangan bulat meskipun kami hanya memasukkan bilangan bulat. Jadi sekarang, seperti yang disarankan Postgres, kita dapat menggunakan USING ekspresi untuk memasukkan data kita ke dalam bilangan bulat.

ALTER TABLE test ALTER COLUMN id  TYPE integer USING (id::integer);

Berhasil.

Jadi, Anda harus menggunakan

alter table a.attend alter column terminal TYPE INTEGER  USING (terminal::integer) ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Daftar Partisi di Postgres 12

  2. Bagaimana cara memasukkan pandas DataFrame ke tabel PostgreSQL?

  3. Masalah kunci asing dengan permata Apartemen

  4. Kueri JSON Bersarang PostgreSQL

  5. Postgres dump hanya bagian dari tabel untuk snapshot dev