PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да промените типа данни на колона от символен към числов в PostgreSQL 8.4

Можете да опитате да използвате USING :

Незадължителният USING клауза определя как да се изчисли новата стойност на колона от старата; ако се пропусне, преобразуването по подразбиране е същото като присвояване, прехвърлено от стар тип данни към нов. A USING клауза трябва да бъде предоставена, ако няма имплицитно или присвояване, прехвърлено от стар към нов тип.

Така че това може да работи (в зависимост от вашите данни):

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

Това ще се провали, ако имате нещо в code които не могат да бъдат прехвърлени към числови; ако USING не успее, ще трябва да почистите нечисловите данни на ръка, преди да промените типа колона.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Шаблон за конфигурацията на PostgreSQL

  2. PostgreSQL Connection Pooling:Част 2 – PgBouncer

  3. PostgreSQL ILIKE заявка с SQLAlchemy

  4. PostgreSQL 11:Какво ново

  5. Pgbackrest Възстановяване и възстановяване на Delta