sql >> Database >  >> RDS >> PostgreSQL

Het kolomgegevenstype wijzigen van teken in numeriek in PostgreSQL 8.4

Je kunt proberen USING . te gebruiken :

De optionele USING clausule specificeert hoe de nieuwe kolomwaarde uit de oude moet worden berekend; indien weggelaten, is de standaardconversie hetzelfde als een toewijzing van het oude gegevenstype naar het nieuwe. Een USING clausule moet worden verstrekt als er geen impliciete of toewijzing is gegoten van oud naar nieuw type.

Dit zou dus kunnen werken (afhankelijk van uw gegevens):

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);

Dit zal mislukken als je iets in code hebt dat kan niet naar numeriek worden gegoten; als het GEBRUIK mislukt, moet u de niet-numerieke gegevens met de hand opschonen voordat u het kolomtype wijzigt.



  1. Installatie van SQL Server Failover Cluster-instantie - Deel 1

  2. Wat is de beste manier om een ​​Django DB van SQLite naar MySQL te migreren?

  3. Voorkom nummerconflicten met Microsoft SQL-reeksen

  4. Gegevens laden van een tekstbestand naar een tabel in oracle