sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan ændres kolonnedatatype fra tegn til numerisk i PostgreSQL 8.4

Du kan prøve at bruge USING :

Den valgfrie USING klausul specificerer, hvordan den nye kolonneværdi beregnes ud fra den gamle; hvis den udelades, er standardkonverteringen den samme som en opgave, der castes fra gammel datatype til ny. En USING klausul skal angives, hvis der ikke er nogen implicit eller tildeling cast fra gammel til ny type.

Så dette kan fungere (afhængigt af dine data):

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

Dette vil mislykkes, hvis du har noget i code der ikke kan støbes til numerisk; hvis BRUG mislykkes, bliver du nødt til at rydde op i de ikke-numeriske data manuelt, før du ændrer kolonnetypen.



  1. SQL Server 2008 Windows Auth Login Fejl:Login er fra et domæne, der ikke er tillid til

  2. Sådan finder du alle forbundne undergrafer i en urettet graf

  3. Opret forbindelse til en heroku-database med pgadmin

  4. Omvendt streng ord for ord ved hjælp af SQL