sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man ändrar kolumndatatyp från tecken till numerisk i PostgreSQL 8.4

Du kan prova att använda USING :

Den valfria USING sats anger hur man beräknar det nya kolumnvärdet från det gamla; om den utelämnas är standardkonverteringen densamma som en tilldelning från gammal datatyp till ny. En USING klausul måste tillhandahållas om det inte finns någon implicit eller tilldelning cast från gammal till ny typ.

Så det här kan fungera (beroende på dina 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);

Detta kommer att misslyckas om du har något i code som inte kan gjutas till numeriska; om ANVÄNDNING misslyckas måste du rensa upp icke-numeriska data för hand innan du ändrar kolumntyp.



  1. Hur man aktiverar SSL/TLS för MySQL i Ubuntu

  2. Hur SQLite Char() fungerar

  3. Hämtar länkad lista i MySQL-databas

  4. 3 sätt att kontrollera kolumndatatyp i Oracle